@dineroregnskab/eslint-plugin-custom-rules 1.0.6 → 1.0.8

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/README.md ADDED
@@ -0,0 +1,62 @@
1
+ # Dinero custom ESLint rules
2
+
3
+ Custom extended rules for various Dinero specific standards & conventions.
4
+
5
+ ## Installation
6
+
7
+ Bundled with dinero.Frontend & dinero.Admin package.json, so a general npm install will include it as default.
8
+
9
+ Explicit install:
10
+ ```bash
11
+ npm install @dineroregnskab/eslint-plugin-eslint-custom-rules@latest --save-dev
12
+ ```
13
+
14
+ ## Adding rules
15
+
16
+ Add the rule here:
17
+
18
+ `dinero-web-2.0/Dinero.Packages/Dinero.eslintCustomRules/rules`
19
+
20
+ You can test the rule by adding some code to test it on here.
21
+
22
+ `dinero-web-2.0/Dinero.Packages/Dinero.eslintCustomRules/example`
23
+
24
+ And run:
25
+
26
+ ```bash
27
+ npx eslint test.ts
28
+ ```
29
+
30
+ ### Publish & install new rule locally
31
+
32
+ Run:
33
+
34
+ ```bash
35
+ npm patch
36
+ ```
37
+ ```bash
38
+ npm publish
39
+ ```
40
+
41
+ - In dinero.Frontend and/or dinero.Admin, update the root `package.json` file with the newly published version number.
42
+ - Locate the `eslintrc` file and add the new rule in the rules property (under `"files": ["*.html"]`, `"files": ["*.ts"]` etc. respectively).
43
+ > **Note: The reference here must be in the format of the package name without "eslint-plugin" + rule name**
44
+
45
+ Example:
46
+
47
+ `"@dineroregnskab/custom-rules/reducers-should-always-return": ["warn"]`
48
+
49
+ - Run
50
+
51
+ ```bash
52
+ npm i
53
+ ````
54
+
55
+ > **Note: You might need to restart the IDE for the new rule to apply**
56
+
57
+ #
58
+ See [ESLint custom rule tutorial](https://eslint.org/docs/latest/extend/custom-rule-tutorial) for more.
59
+
60
+ ## License
61
+
62
+ [MIT](https://choosealicense.com/licenses/mit/)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dineroregnskab/eslint-plugin-custom-rules",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "ESLint plugin with custom rules for Dineroregnskab",
5
5
  "main": "eslint-plugin-custom-rules.js",
6
6
  "scripts": {
@@ -18,5 +18,8 @@
18
18
  "files": [
19
19
  "**/*",
20
20
  "!example/**/*"
21
- ]
21
+ ],
22
+ "dependencies": {
23
+ "esquery": "^1.5.0"
24
+ }
22
25
  }
@@ -22,10 +22,10 @@ module.exports = {
22
22
  handler.type === 'FunctionExpression' ||
23
23
  handler.type === 'ArrowFunctionExpression';
24
24
  const isBlockStatement =
25
- handler.body.type === 'BlockStatement';
25
+ handler?.body?.type === 'BlockStatement';
26
26
  const hasNoReturn =
27
27
  isBlockStatement &&
28
- !handler.body.body.some(
28
+ !handler?.body?.body.some(
29
29
  (statement) =>
30
30
  statement.type === 'ReturnStatement',
31
31
  );