@checkdigit/eslint-plugin 4.0.0-beta.1 → 4.1.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/.github/workflows/ci.yml +72 -0
- package/.github/workflows/codeql-analysis.yml +31 -0
- package/.github/workflows/coverage.yml +46 -0
- package/README.md +6 -9
- package/SECURITY.md +14 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -38
- package/dist/index.js.map +1 -1
- package/dist/{pure-functions.d.ts → no-uuid.d.ts} +0 -0
- package/package.json +24 -32
- package/.eslintrc +0 -76
- package/coverage/clover.xml +0 -94
- package/coverage/coverage-final.json +0 -4
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/file-path-comment.ts.html +0 -349
- package/coverage/lcov-report/index.html +0 -146
- package/coverage/lcov-report/no-card-numbers.ts.html +0 -508
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/pure-functions.ts.html +0 -301
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov.info +0 -176
- package/dist/file-path-comment.js +0 -86
- package/dist/file-path-comment.js.map +0 -1
- package/dist/file-path-comment.spec.d.ts +0 -1
- package/dist/file-path-comment.spec.js +0 -72
- package/dist/file-path-comment.spec.js.map +0 -1
- package/dist/no-card-numbers.js +0 -131
- package/dist/no-card-numbers.js.map +0 -1
- package/dist/no-card-numbers.spec.d.ts +0 -1
- package/dist/no-card-numbers.spec.js +0 -104
- package/dist/no-card-numbers.spec.js.map +0 -1
- package/dist/pure-functions.js +0 -55
- package/dist/pure-functions.js.map +0 -1
- package/dist/pure-functions.spec.d.ts +0 -1
- package/dist/pure-functions.spec.js +0 -90
- package/dist/pure-functions.spec.js.map +0 -1
- package/src/file-path-comment.spec.ts +0 -71
- package/src/file-path-comment.ts +0 -88
- package/src/index.ts +0 -35
- package/src/no-card-numbers.spec.ts +0 -114
- package/src/no-card-numbers.ts +0 -141
- package/src/pure-functions.spec.ts +0 -93
- package/src/pure-functions.ts +0 -72
- package/tsconfig.json +0 -12
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
branches:
|
|
6
|
+
- 'main'
|
|
7
|
+
|
|
8
|
+
env:
|
|
9
|
+
CI: true
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
pullRequestBuild:
|
|
13
|
+
name: Pull Request Build
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
strategy:
|
|
16
|
+
matrix:
|
|
17
|
+
node-version: [16.x, 18.x]
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v3
|
|
20
|
+
- name: Use Node.js ${{ matrix.node-version }}
|
|
21
|
+
uses: actions/setup-node@v3
|
|
22
|
+
with:
|
|
23
|
+
node-version: ${{ matrix.node-version }}
|
|
24
|
+
cache: 'npm'
|
|
25
|
+
- name: Install dependencies
|
|
26
|
+
run: npm ci --ignore-scripts
|
|
27
|
+
env:
|
|
28
|
+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
29
|
+
- name: Audit Signatures
|
|
30
|
+
run: npm audit signatures
|
|
31
|
+
env:
|
|
32
|
+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
33
|
+
- name: Compile
|
|
34
|
+
run: npm run ci:compile
|
|
35
|
+
- name: Check Code Style
|
|
36
|
+
run: npm run ci:style
|
|
37
|
+
- name: Perform Linting
|
|
38
|
+
run: npm run ci:lint
|
|
39
|
+
- name: Run Tests
|
|
40
|
+
run: npm run ci:test
|
|
41
|
+
|
|
42
|
+
branchBuild:
|
|
43
|
+
runs-on: ubuntu-latest
|
|
44
|
+
name: Branch Build
|
|
45
|
+
strategy:
|
|
46
|
+
matrix:
|
|
47
|
+
node-version: [16.x, 18.x]
|
|
48
|
+
steps:
|
|
49
|
+
- uses: actions/checkout@v3
|
|
50
|
+
with:
|
|
51
|
+
ref: ${{ github.event.pull_request.head.sha }}
|
|
52
|
+
- name: Use Node.js ${{ matrix.node-version }}
|
|
53
|
+
uses: actions/setup-node@v3
|
|
54
|
+
with:
|
|
55
|
+
node-version: ${{ matrix.node-version }}
|
|
56
|
+
cache: 'npm'
|
|
57
|
+
- name: Install dependencies
|
|
58
|
+
run: npm ci --ignore-scripts
|
|
59
|
+
env:
|
|
60
|
+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
61
|
+
- name: Audit Signatures
|
|
62
|
+
run: npm audit signatures
|
|
63
|
+
env:
|
|
64
|
+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
65
|
+
- name: Compile
|
|
66
|
+
run: npm run ci:compile
|
|
67
|
+
- name: Check Code Style
|
|
68
|
+
run: npm run ci:style
|
|
69
|
+
- name: Perform Linting
|
|
70
|
+
run: npm run ci:lint
|
|
71
|
+
- name: Run Tests
|
|
72
|
+
run: npm run ci:test
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
name: 'CodeQL'
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: ['main']
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: ['main']
|
|
8
|
+
schedule:
|
|
9
|
+
- cron: '44 8 * * 1'
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
analyze:
|
|
13
|
+
name: Analyze
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
permissions:
|
|
16
|
+
actions: read
|
|
17
|
+
contents: read
|
|
18
|
+
security-events: write
|
|
19
|
+
strategy:
|
|
20
|
+
fail-fast: false
|
|
21
|
+
matrix:
|
|
22
|
+
language: ['javascript']
|
|
23
|
+
steps:
|
|
24
|
+
- name: Checkout repository
|
|
25
|
+
uses: actions/checkout@v3
|
|
26
|
+
- name: Initialize CodeQL
|
|
27
|
+
uses: github/codeql-action/init@v2
|
|
28
|
+
with:
|
|
29
|
+
languages: ${{ matrix.language }}
|
|
30
|
+
- name: Perform CodeQL Analysis
|
|
31
|
+
uses: github/codeql-action/analyze@v2
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
name: Coverage
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
branches:
|
|
6
|
+
- 'main'
|
|
7
|
+
|
|
8
|
+
env:
|
|
9
|
+
CI: true
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
branchBuild:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
name: Branch Build
|
|
15
|
+
strategy:
|
|
16
|
+
matrix:
|
|
17
|
+
node-version: [16.x]
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v3
|
|
20
|
+
with:
|
|
21
|
+
ref: ${{ github.event.pull_request.head.sha }}
|
|
22
|
+
- name: Use Node.js ${{ matrix.node-version }}
|
|
23
|
+
uses: actions/setup-node@v3
|
|
24
|
+
with:
|
|
25
|
+
node-version: ${{ matrix.node-version }}
|
|
26
|
+
cache: 'npm'
|
|
27
|
+
- name: Install dependencies
|
|
28
|
+
run: npm ci --ignore-scripts
|
|
29
|
+
env:
|
|
30
|
+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
31
|
+
- name: Calculate Code Coverage
|
|
32
|
+
run: npm run ci:coverage
|
|
33
|
+
- name: Create Coverage Report for base branch
|
|
34
|
+
run: |
|
|
35
|
+
mv coverage/lcov.info coverage/lcov_head.info
|
|
36
|
+
git fetch
|
|
37
|
+
git checkout origin/${{ github.event.pull_request.base.ref }}
|
|
38
|
+
npm ci --ignore-scripts && npm run ci:coverage
|
|
39
|
+
env:
|
|
40
|
+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
41
|
+
- name: Post Coverage Report
|
|
42
|
+
uses: checkdigit/github-actions/coverage-reporter@main
|
|
43
|
+
with:
|
|
44
|
+
lcov-file: 'coverage/lcov_head.info'
|
|
45
|
+
lcov-base: 'coverage/lcov.info'
|
|
46
|
+
delete-old-comments: true
|
package/README.md
CHANGED
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
# checkdigit/eslint-plugin
|
|
2
2
|
|
|
3
|
-
[
|
|
4
|
-
[](https://status.david-dm.org/gh/checkdigit/eslint-plugin.svg)
|
|
5
|
-
|
|
6
|
-
Copyright (c) 2021 [Check Digit, LLC](https://checkdigit.com)
|
|
3
|
+
Copyright (c) 2021-2022 [Check Digit, LLC](https://checkdigit.com)
|
|
7
4
|
|
|
8
5
|
## Rules
|
|
9
6
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
- `@checkdigit/no-card-numbers`
|
|
8
|
+
- `@checkdigit/file-path-comment`
|
|
9
|
+
- `@checkdigit/no-uuid`
|
|
13
10
|
|
|
14
11
|
## Configurations
|
|
15
12
|
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
- `@checkdigit/all`
|
|
14
|
+
- `@checkdigit/recommended`
|
|
18
15
|
|
|
19
16
|
## License
|
|
20
17
|
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
## Supported Versions
|
|
4
|
+
|
|
5
|
+
These versions of `@checkdigit/eslint-plugin` are currently being supported with security updates.
|
|
6
|
+
|
|
7
|
+
| Version | Supported |
|
|
8
|
+
| ------- | ------------------ |
|
|
9
|
+
| \>= 4.0 | :white_check_mark: |
|
|
10
|
+
| \< 4.0 | :x: |
|
|
11
|
+
|
|
12
|
+
## Reporting a Vulnerability
|
|
13
|
+
|
|
14
|
+
Please create an issue at https://github.com/checkdigit/eslint-plugin/issues
|
package/dist/index.d.ts
CHANGED
|
@@ -2,21 +2,21 @@ declare const _default: {
|
|
|
2
2
|
rules: {
|
|
3
3
|
'file-path-comment': import("eslint").Rule.RuleModule;
|
|
4
4
|
'no-card-numbers': import("eslint").Rule.RuleModule;
|
|
5
|
-
'
|
|
5
|
+
'no-uuid': import("eslint").Rule.RuleModule;
|
|
6
6
|
};
|
|
7
7
|
configs: {
|
|
8
8
|
all: {
|
|
9
9
|
rules: {
|
|
10
10
|
'@checkdigit/no-card-numbers': string;
|
|
11
11
|
'@checkdigit/file-path-comment': string;
|
|
12
|
-
'@checkdigit/
|
|
12
|
+
'@checkdigit/no-uuid': string;
|
|
13
13
|
};
|
|
14
14
|
};
|
|
15
15
|
recommended: {
|
|
16
16
|
rules: {
|
|
17
17
|
'@checkdigit/no-card-numbers': string;
|
|
18
18
|
'@checkdigit/file-path-comment': string;
|
|
19
|
-
'@checkdigit/
|
|
19
|
+
'@checkdigit/no-uuid': string;
|
|
20
20
|
};
|
|
21
21
|
};
|
|
22
22
|
};
|
package/dist/index.js
CHANGED
|
@@ -1,38 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
/*
|
|
8
|
-
* Copyright (c) 2021 Check Digit, LLC
|
|
9
|
-
*
|
|
10
|
-
* This code is licensed under the MIT license (see LICENSE.txt for details).
|
|
11
|
-
*/
|
|
12
|
-
const file_path_comment_1 = __importDefault(require("./file-path-comment"));
|
|
13
|
-
const no_card_numbers_1 = __importDefault(require("./no-card-numbers"));
|
|
14
|
-
const pure_functions_1 = __importDefault(require("./pure-functions"));
|
|
15
|
-
exports.default = {
|
|
16
|
-
rules: {
|
|
17
|
-
'file-path-comment': file_path_comment_1.default,
|
|
18
|
-
'no-card-numbers': no_card_numbers_1.default,
|
|
19
|
-
'pure-functions': pure_functions_1.default,
|
|
20
|
-
},
|
|
21
|
-
configs: {
|
|
22
|
-
all: {
|
|
23
|
-
rules: {
|
|
24
|
-
'@checkdigit/no-card-numbers': 'error',
|
|
25
|
-
'@checkdigit/file-path-comment': 'error',
|
|
26
|
-
'@checkdigit/pure-functions': 'error',
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
|
-
recommended: {
|
|
30
|
-
rules: {
|
|
31
|
-
'@checkdigit/no-card-numbers': 'error',
|
|
32
|
-
'@checkdigit/file-path-comment': 'off',
|
|
33
|
-
'@checkdigit/pure-functions': 'off',
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";const e=/\d{15,19}/gmu,t=["4111111111111111","111111111111111","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000"];function n(n,o,i,r){const a=n.match(e);if(null===a)return;const s=a.filter((e=>e.split("").reverse().map((e=>parseInt(e,10))).reduce(((e,t,n)=>{let o=t;return n%2==1&&(o*=2,o>9&&(o=o%10+1)),e+o}),0)%10==0&&-1===t.indexOf(e)));1===s.length?void 0!==i?o.report({messageId:"CARD_NUMBER_FOUND",data:{number:s[0]},node:i}):void 0!==r&&o.report({messageId:"CARD_NUMBER_FOUND",data:{number:s[0]},loc:{start:r.start,end:r.end}}):s.length>1&&(void 0!==i?o.report({messageId:"CARD_NUMBERS_FOUND",data:{numbers:a.join(", ")},node:i}):void 0!==r&&o.report({messageId:"CARD_NUMBERS_FOUND",data:{numbers:a.join(", ")},loc:{start:r.start,end:r.end}}))}const o=/[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}/gmu;function i(e,t,n,i){const r=e.match(o);null!==r&&(1===r.length?void 0!==n?t.report({messageId:"UUID_FOUND",data:{uuid:r[0]},node:n}):void 0!==i&&t.report({messageId:"UUID_FOUND",data:{uuid:r[0]},loc:{start:i.start,end:i.end}}):r.length>1&&(void 0!==n?t.report({messageId:"UUIDS_FOUND",data:{uuids:r.join(", ")},node:n}):void 0!==i&&t.report({messageId:"UUIDS_FOUND",data:{uuids:r.join(", ")},loc:{start:i.start,end:i.end}})))}var r={rules:{"file-path-comment":{meta:{type:"suggestion",docs:{description:"Validate that first line of file is a path to the file",url:"https://github.com/checkdigit/eslint-plugin"},fixable:"code"},create(e){const t=e.getSourceCode().getLines()[0],n=e.getFilename().split("src/")[1];if(void 0===n)return{};if(t.startsWith("//")){const o=t.split("// ")[1];n!==o&&e.report({loc:{start:{line:0,column:0},end:{line:0,column:1}},message:"first line is a comment but is not a path to the file",fix:e=>e.replaceTextRange([0,t.length],`// ${n}`)})}else t.startsWith("/*")?e.report({loc:{start:{line:0,column:0},end:{line:0,column:1}},message:"first line cannot be a block comment",fix:e=>e.insertTextBeforeRange([0,0],`// ${n}\n\n`)}):e.report({loc:{start:{line:0,column:0},end:{line:0,column:1}},message:"first line is not a comment with the file path",fix:e=>e.insertTextBeforeRange([0,0],`// ${n}\n\n`)});return{}}},"no-card-numbers":{meta:{type:"problem",docs:{description:"Detects if a luhn passing card number",url:"https://github.com/checkdigit/eslint-plugin"},messages:{CARD_NUMBER_FOUND:'Valid card number: "{{ number }}"',CARD_NUMBERS_FOUND:'Multiple valid card numbers found: "{{ numbers }}"'}},create:e=>(e.getSourceCode().getAllComments().forEach((t=>{void 0!==t.loc&&null!==t.loc&&n(t.value,e,void 0,t.loc)})),{Literal(t){if(void 0===t.value)return;if("string"!=typeof t.value&&"number"!=typeof t.value)return;n(`${t.value}`,e,t)},TemplateElement(t){t.value&&"string"==typeof t.value.cooked&&n(t.value.cooked,e,t)}})},"no-uuid":{meta:{type:"problem",docs:{description:"Detects if a string literal contains a UUID",url:"https://github.com/checkdigit/eslint-plugin"},messages:{UUID_FOUND:'UUID found: "{{ uuid }}"',UUIDS_FOUND:'Multiple UUIDs found: "{{ uuids }}"'}},create:e=>(e.getSourceCode().getAllComments().forEach((t=>{void 0!==t.loc&&null!==t.loc&&i(t.value,e,void 0,t.loc)})),{Literal(t){if(void 0===t.value)return;if("string"!=typeof t.value)return;i(`${t.value}`,e,t)},TemplateElement(t){t.value&&"string"==typeof t.value.cooked&&i(t.value.cooked,e,t)}})}},configs:{all:{rules:{"@checkdigit/no-card-numbers":"error","@checkdigit/file-path-comment":"error","@checkdigit/no-uuid":"error"}},recommended:{rules:{"@checkdigit/no-card-numbers":"error","@checkdigit/file-path-comment":"off","@checkdigit/no-uuid":"error"}}}};module.exports=r;
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/no-card-numbers.ts","../src/no-uuid.ts","../src/index.ts","../src/file-path-comment.ts"],"sourcesContent":[null,null,null,null],"names":["cardNumberRegex","allowCardNumbers","checkForCardNumbers","value","context","node","loc","matches","match","cardNumbers","filter","split","reverse","map","digit","parseInt","reduce","previousValue","currentValue","index","indexOf","length","undefined","report","messageId","data","number","start","end","numbers","join","uuidRegex","checkForUuid","uuid","uuids","rules","meta","type","docs","description","url","fixable","create","firstLine","getSourceCode","getLines","expectedPath","getFilename","startsWith","actualComment","line","column","message","fix","fixer","replaceTextRange","insertTextBeforeRange","messages","CARD_NUMBER_FOUND","CARD_NUMBERS_FOUND","getAllComments","forEach","comment","Literal","TemplateElement","cooked","UUID_FOUND","UUIDS_FOUND","configs","all","recommended"],"mappings":"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"}
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@checkdigit/eslint-plugin",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "Check Digit eslint plugins",
|
|
5
5
|
"prettier": "@checkdigit/prettier-config",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -8,14 +8,6 @@
|
|
|
8
8
|
"eslint",
|
|
9
9
|
"eslintplugin"
|
|
10
10
|
],
|
|
11
|
-
"scripts": {
|
|
12
|
-
"preversion": "npm test",
|
|
13
|
-
"postversion": "git push && git push --tags",
|
|
14
|
-
"test": "tsc --noEmit && jest && npm run prettier && npm run lint",
|
|
15
|
-
"lint": "eslint -f unix --ext .ts src/**",
|
|
16
|
-
"prettier": "prettier --list-different 'src/**/*.ts'",
|
|
17
|
-
"prettier:fix": "prettier --write 'src/**/*.ts'"
|
|
18
|
-
},
|
|
19
11
|
"engines": {
|
|
20
12
|
"node": ">=16"
|
|
21
13
|
},
|
|
@@ -33,35 +25,35 @@
|
|
|
33
25
|
"eslint": ">=8"
|
|
34
26
|
},
|
|
35
27
|
"devDependencies": {
|
|
36
|
-
"@checkdigit/
|
|
37
|
-
"@checkdigit/
|
|
38
|
-
"@
|
|
39
|
-
"@types/
|
|
40
|
-
"@
|
|
41
|
-
"@typescript-eslint/
|
|
42
|
-
"@typescript-eslint/parser": "^5.26.0",
|
|
43
|
-
"eslint": "^8.16.0",
|
|
28
|
+
"@checkdigit/jest-config": "^2.0.0",
|
|
29
|
+
"@checkdigit/prettier-config": "^3.0.0",
|
|
30
|
+
"@checkdigit/typescript-config": "^3.1.0",
|
|
31
|
+
"@types/eslint": "^8.4.6",
|
|
32
|
+
"@typescript-eslint/eslint-plugin": "^5.39.0",
|
|
33
|
+
"@typescript-eslint/parser": "^5.39.0",
|
|
44
34
|
"eslint-config-prettier": "^8.5.0",
|
|
45
35
|
"eslint-plugin-deprecate": "^0.7.0",
|
|
46
|
-
"eslint-plugin-eslint-plugin": "^
|
|
36
|
+
"eslint-plugin-eslint-plugin": "^5.0.6",
|
|
47
37
|
"eslint-plugin-import": "^2.26.0",
|
|
48
|
-
"eslint-plugin-no-only-tests": "^
|
|
38
|
+
"eslint-plugin-no-only-tests": "^3.0.0",
|
|
49
39
|
"eslint-plugin-no-secrets": "^0.8.9",
|
|
50
40
|
"eslint-plugin-node": "^11.1.0",
|
|
51
|
-
"eslint-plugin-sonarjs": "^0.
|
|
52
|
-
|
|
53
|
-
|
|
41
|
+
"eslint-plugin-sonarjs": "^0.15.0"
|
|
42
|
+
},
|
|
43
|
+
"scripts": {
|
|
44
|
+
"postversion": "git push && git push --tags",
|
|
45
|
+
"lint:fix": "eslint -f unix --ext .ts src --fix",
|
|
46
|
+
"lint": "eslint -f unix --ext .ts src",
|
|
47
|
+
"prettier": "prettier --ignore-path .gitignore --list-different .",
|
|
48
|
+
"prettier:fix": "prettier --ignore-path .gitignore --write .",
|
|
49
|
+
"test": "npm run ci:compile && npm run ci:test && npm run ci:lint && npm run ci:style",
|
|
50
|
+
"ci:compile": "tsc --noEmit",
|
|
51
|
+
"ci:test": "jest --coverage=false",
|
|
52
|
+
"ci:coverage": "jest --coverage=true",
|
|
53
|
+
"ci:lint": "npm run lint",
|
|
54
|
+
"ci:style": "npm run prettier"
|
|
54
55
|
},
|
|
55
56
|
"jest": {
|
|
56
|
-
"
|
|
57
|
-
"preset": "ts-jest",
|
|
58
|
-
"testMatch": [
|
|
59
|
-
"<rootDir>/src/**/?(*.)spec.ts"
|
|
60
|
-
],
|
|
61
|
-
"testPathIgnorePatterns": [
|
|
62
|
-
"<rootDir>/build",
|
|
63
|
-
"<rootDir>/coverage",
|
|
64
|
-
"<rootDir>/node_modules"
|
|
65
|
-
]
|
|
57
|
+
"preset": "@checkdigit/jest-config"
|
|
66
58
|
}
|
|
67
59
|
}
|
package/.eslintrc
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"parser": "@typescript-eslint/parser",
|
|
3
|
-
"parserOptions": {
|
|
4
|
-
"project": "./tsconfig.json"
|
|
5
|
-
},
|
|
6
|
-
"plugins": [
|
|
7
|
-
"@typescript-eslint",
|
|
8
|
-
"sonarjs",
|
|
9
|
-
"import",
|
|
10
|
-
"no-only-tests",
|
|
11
|
-
"no-secrets",
|
|
12
|
-
"deprecate",
|
|
13
|
-
"eslint-plugin"
|
|
14
|
-
],
|
|
15
|
-
"extends": [
|
|
16
|
-
"eslint:all",
|
|
17
|
-
"plugin:@typescript-eslint/recommended",
|
|
18
|
-
"plugin:@typescript-eslint/recommended-requiring-type-checking",
|
|
19
|
-
"plugin:eslint-plugin-eslint-plugin/recommended",
|
|
20
|
-
"plugin:sonarjs/recommended",
|
|
21
|
-
"prettier"
|
|
22
|
-
],
|
|
23
|
-
"rules": {
|
|
24
|
-
"sort-keys": "off",
|
|
25
|
-
"capitalized-comments": "off",
|
|
26
|
-
"func-style": ["error", "declaration", { "allowArrowFunctions": true }],
|
|
27
|
-
"no-negated-condition": "off",
|
|
28
|
-
"multiline-comment-style": "off",
|
|
29
|
-
"no-magic-numbers": ["error", { "ignore": [-1, 0, 1, 2, 10, 16, 60] }],
|
|
30
|
-
"no-ternary": "off",
|
|
31
|
-
"max-params": ["error", 8],
|
|
32
|
-
"max-statements": "off",
|
|
33
|
-
"consistent-return": "off",
|
|
34
|
-
"no-undef": "off",
|
|
35
|
-
"init-declarations": "off",
|
|
36
|
-
"no-inline-comments": "off",
|
|
37
|
-
"line-comment-position": "off",
|
|
38
|
-
"prefer-destructuring": "off",
|
|
39
|
-
"no-useless-return": "off",
|
|
40
|
-
"complexity": "off",
|
|
41
|
-
"max-lines": ["error", { "max": 500, "skipBlankLines": true, "skipComments": true }],
|
|
42
|
-
"id-length": ["error", { "properties": "never", "exceptions": ["_"] }],
|
|
43
|
-
"no-plusplus": "off",
|
|
44
|
-
"default-case": "off",
|
|
45
|
-
"no-continue": "off",
|
|
46
|
-
"callback-return": ["error", ["callback", "cb"]],
|
|
47
|
-
"new-cap": ["error", { "capIsNew": false }],
|
|
48
|
-
"dot-notation": "off",
|
|
49
|
-
"no-undefined": "off",
|
|
50
|
-
"one-var": ["error", "never"],
|
|
51
|
-
"max-lines-per-function": ["error", 200],
|
|
52
|
-
"sonarjs/cognitive-complexity": ["error", 24],
|
|
53
|
-
"no-only-tests/no-only-tests": "error",
|
|
54
|
-
"curly": "error"
|
|
55
|
-
},
|
|
56
|
-
"overrides": [
|
|
57
|
-
{
|
|
58
|
-
"files": ["*.spec.ts", "*.test.ts"],
|
|
59
|
-
"rules": {
|
|
60
|
-
"no-magic-numbers": "off",
|
|
61
|
-
"no-undefined": "off",
|
|
62
|
-
"max-lines-per-function": "off",
|
|
63
|
-
"sonarjs/no-duplicate-string": "off",
|
|
64
|
-
"sonarjs/no-identical-functions": "off",
|
|
65
|
-
"sonarjs/cognitive-complexity": "off",
|
|
66
|
-
"max-lines": "off",
|
|
67
|
-
"no-await-in-loop": "off",
|
|
68
|
-
"@typescript-eslint/no-unsafe-call": "off",
|
|
69
|
-
"@typescript-eslint/no-unsafe-member-access": "off",
|
|
70
|
-
"@typescript-eslint/no-unsafe-assignment": "off",
|
|
71
|
-
"@typescript-eslint/no-unsafe-return": "off",
|
|
72
|
-
"@typescript-eslint/restrict-template-expressions": "off"
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
]
|
|
76
|
-
}
|
package/coverage/clover.xml
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<coverage generated="1653508680277" clover="3.2.0">
|
|
3
|
-
<project timestamp="1653508680277" name="All files">
|
|
4
|
-
<metrics statements="79" coveredstatements="74" conditionals="38" coveredconditionals="33" methods="16" coveredmethods="16" elements="133" coveredelements="123" complexity="0" loc="79" ncloc="79" packages="1" files="3" classes="3"/>
|
|
5
|
-
<file name="file-path-comment.ts" path="/Users/carl/Development/eslint-plugin/src/file-path-comment.ts">
|
|
6
|
-
<metrics statements="16" coveredstatements="16" conditionals="6" coveredconditionals="6" methods="4" coveredmethods="4"/>
|
|
7
|
-
<line num="11" count="1" type="stmt"/>
|
|
8
|
-
<line num="21" count="14" type="stmt"/>
|
|
9
|
-
<line num="22" count="14" type="stmt"/>
|
|
10
|
-
<line num="24" count="14" type="cond" truecount="1" falsecount="0"/>
|
|
11
|
-
<line num="25" count="2" type="stmt"/>
|
|
12
|
-
<line num="28" count="12" type="cond" truecount="2" falsecount="0"/>
|
|
13
|
-
<line num="29" count="3" type="cond" truecount="2" falsecount="0"/>
|
|
14
|
-
<line num="30" count="1" type="stmt"/>
|
|
15
|
-
<line num="43" count="1" type="stmt"/>
|
|
16
|
-
<line num="47" count="2" type="stmt"/>
|
|
17
|
-
<line num="60" count="2" type="stmt"/>
|
|
18
|
-
<line num="65" count="9" type="stmt"/>
|
|
19
|
-
<line num="66" count="9" type="cond" truecount="1" falsecount="0"/>
|
|
20
|
-
<line num="67" count="2" type="stmt"/>
|
|
21
|
-
<line num="80" count="2" type="stmt"/>
|
|
22
|
-
<line num="86" count="12" type="stmt"/>
|
|
23
|
-
</file>
|
|
24
|
-
<file name="no-card-numbers.ts" path="/Users/carl/Development/eslint-plugin/src/no-card-numbers.ts">
|
|
25
|
-
<metrics statements="44" coveredstatements="40" conditionals="23" coveredconditionals="19" methods="9" coveredmethods="9"/>
|
|
26
|
-
<line num="12" count="1" type="stmt"/>
|
|
27
|
-
<line num="13" count="1" type="stmt"/>
|
|
28
|
-
<line num="14" count="1" type="stmt"/>
|
|
29
|
-
<line num="15" count="1" type="stmt"/>
|
|
30
|
-
<line num="26" count="18" type="stmt"/>
|
|
31
|
-
<line num="30" count="297" type="stmt"/>
|
|
32
|
-
<line num="32" count="297" type="stmt"/>
|
|
33
|
-
<line num="33" count="297" type="cond" truecount="1" falsecount="0"/>
|
|
34
|
-
<line num="34" count="145" type="stmt"/>
|
|
35
|
-
<line num="36" count="145" type="cond" truecount="1" falsecount="0"/>
|
|
36
|
-
<line num="37" count="22" type="stmt"/>
|
|
37
|
-
<line num="40" count="297" type="stmt"/>
|
|
38
|
-
<line num="48" count="28" type="stmt"/>
|
|
39
|
-
<line num="49" count="28" type="cond" truecount="1" falsecount="0"/>
|
|
40
|
-
<line num="50" count="12" type="stmt"/>
|
|
41
|
-
<line num="52" count="18" type="cond" truecount="2" falsecount="0"/>
|
|
42
|
-
<line num="53" count="16" type="cond" truecount="2" falsecount="0"/>
|
|
43
|
-
<line num="54" count="2" type="cond" truecount="2" falsecount="0"/>
|
|
44
|
-
<line num="55" count="1" type="stmt"/>
|
|
45
|
-
<line num="62" count="1" type="cond" truecount="1" falsecount="0"/>
|
|
46
|
-
<line num="63" count="1" type="stmt"/>
|
|
47
|
-
<line num="74" count="14" type="cond" truecount="1" falsecount="0"/>
|
|
48
|
-
<line num="75" count="2" type="cond" truecount="2" falsecount="0"/>
|
|
49
|
-
<line num="76" count="1" type="stmt"/>
|
|
50
|
-
<line num="83" count="1" type="cond" truecount="1" falsecount="0"/>
|
|
51
|
-
<line num="84" count="1" type="stmt"/>
|
|
52
|
-
<line num="98" count="1" type="stmt"/>
|
|
53
|
-
<line num="111" count="9" type="stmt"/>
|
|
54
|
-
<line num="112" count="9" type="stmt"/>
|
|
55
|
-
<line num="114" count="9" type="stmt"/>
|
|
56
|
-
<line num="115" count="10" type="cond" truecount="3" falsecount="0"/>
|
|
57
|
-
<line num="116" count="10" type="stmt"/>
|
|
58
|
-
<line num="119" count="9" type="stmt"/>
|
|
59
|
-
<line num="121" count="16" type="cond" truecount="0" falsecount="1"/>
|
|
60
|
-
<line num="122" count="0" type="stmt"/>
|
|
61
|
-
<line num="124" count="16" type="cond" truecount="2" falsecount="1"/>
|
|
62
|
-
<line num="125" count="0" type="stmt"/>
|
|
63
|
-
<line num="127" count="16" type="stmt"/>
|
|
64
|
-
<line num="128" count="16" type="stmt"/>
|
|
65
|
-
<line num="131" count="2" type="cond" truecount="0" falsecount="1"/>
|
|
66
|
-
<line num="132" count="0" type="stmt"/>
|
|
67
|
-
<line num="134" count="2" type="cond" truecount="0" falsecount="1"/>
|
|
68
|
-
<line num="135" count="0" type="stmt"/>
|
|
69
|
-
<line num="137" count="2" type="stmt"/>
|
|
70
|
-
</file>
|
|
71
|
-
<file name="pure-functions.ts" path="/Users/carl/Development/eslint-plugin/src/pure-functions.ts">
|
|
72
|
-
<metrics statements="19" coveredstatements="18" conditionals="9" coveredconditionals="8" methods="3" coveredmethods="3"/>
|
|
73
|
-
<line num="12" count="1" type="stmt"/>
|
|
74
|
-
<line num="14" count="1" type="stmt"/>
|
|
75
|
-
<line num="26" count="3" type="stmt"/>
|
|
76
|
-
<line num="27" count="3" type="stmt"/>
|
|
77
|
-
<line num="30" count="5" type="stmt"/>
|
|
78
|
-
<line num="31" count="5" type="stmt"/>
|
|
79
|
-
<line num="32" count="5" type="cond" truecount="0" falsecount="1"/>
|
|
80
|
-
<line num="33" count="0" type="stmt"/>
|
|
81
|
-
<line num="36" count="5" type="stmt"/>
|
|
82
|
-
<line num="38" count="5" type="stmt"/>
|
|
83
|
-
<line num="39" count="6" type="stmt"/>
|
|
84
|
-
<line num="40" count="6" type="stmt"/>
|
|
85
|
-
<line num="41" count="12" type="stmt"/>
|
|
86
|
-
<line num="42" count="12" type="cond" truecount="1" falsecount="0"/>
|
|
87
|
-
<line num="45" count="12" type="stmt"/>
|
|
88
|
-
<line num="46" count="12" type="stmt"/>
|
|
89
|
-
<line num="47" count="12" type="stmt"/>
|
|
90
|
-
<line num="56" count="2" type="stmt"/>
|
|
91
|
-
<line num="66" count="3" type="stmt"/>
|
|
92
|
-
</file>
|
|
93
|
-
</project>
|
|
94
|
-
</coverage>
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
{"/Users/carl/Development/eslint-plugin/src/file-path-comment.ts": {"path":"/Users/carl/Development/eslint-plugin/src/file-path-comment.ts","statementMap":{"0":{"start":{"line":11,"column":0},"end":{"line":88,"column":21}},"1":{"start":{"line":21,"column":22},"end":{"line":21,"column":69}},"2":{"start":{"line":22,"column":25},"end":{"line":22,"column":63}},"3":{"start":{"line":24,"column":4},"end":{"line":26,"column":null}},"4":{"start":{"line":25,"column":6},"end":{"line":25,"column":16}},"5":{"start":{"line":28,"column":4},"end":{"line":84,"column":null}},"6":{"start":{"line":29,"column":6},"end":{"line":63,"column":null}},"7":{"start":{"line":30,"column":8},"end":{"line":45,"column":11}},"8":{"start":{"line":43,"column":12},"end":{"line":43,"column":81}},"9":{"start":{"line":47,"column":8},"end":{"line":62,"column":11}},"10":{"start":{"line":60,"column":12},"end":{"line":60,"column":81}},"11":{"start":{"line":65,"column":28},"end":{"line":65,"column":53}},"12":{"start":{"line":66,"column":6},"end":{"line":83,"column":null}},"13":{"start":{"line":67,"column":8},"end":{"line":82,"column":11}},"14":{"start":{"line":80,"column":12},"end":{"line":80,"column":87}},"15":{"start":{"line":86,"column":4},"end":{"line":86,"column":14}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":20,"column":2},"end":{"line":20,"column":8}},"loc":{"start":{"line":20,"column":16},"end":{"line":87,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":42,"column":10},"end":{"line":42,"column":13}},"loc":{"start":{"line":42,"column":35},"end":{"line":44,"column":11}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":59,"column":10},"end":{"line":59,"column":13}},"loc":{"start":{"line":59,"column":35},"end":{"line":61,"column":11}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":79,"column":10},"end":{"line":79,"column":13}},"loc":{"start":{"line":79,"column":35},"end":{"line":81,"column":11}}}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":4},"end":{"line":26,"column":null}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":26,"column":null}}]},"1":{"loc":{"start":{"line":28,"column":4},"end":{"line":84,"column":null}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":84,"column":null}},{"start":{"line":64,"column":11},"end":{"line":84,"column":null}}]},"2":{"loc":{"start":{"line":29,"column":6},"end":{"line":63,"column":null}},"type":"if","locations":[{"start":{"line":29,"column":6},"end":{"line":63,"column":null}},{"start":{"line":46,"column":13},"end":{"line":63,"column":null}}]},"3":{"loc":{"start":{"line":66,"column":6},"end":{"line":83,"column":null}},"type":"if","locations":[{"start":{"line":66,"column":6},"end":{"line":83,"column":null}}]}},"s":{"0":1,"1":14,"2":14,"3":14,"4":2,"5":12,"6":3,"7":1,"8":1,"9":2,"10":2,"11":9,"12":9,"13":2,"14":2,"15":12},"f":{"0":14,"1":1,"2":2,"3":2},"b":{"0":[2],"1":[3,9],"2":[1,2],"3":[2]}}
|
|
2
|
-
,"/Users/carl/Development/eslint-plugin/src/no-card-numbers.ts": {"path":"/Users/carl/Development/eslint-plugin/src/no-card-numbers.ts","statementMap":{"0":{"start":{"line":12,"column":26},"end":{"line":12,"column":45}},"1":{"start":{"line":13,"column":27},"end":{"line":13,"column":47}},"2":{"start":{"line":14,"column":24},"end":{"line":14,"column":38}},"3":{"start":{"line":15,"column":25},"end":{"line":23,"column":2}},"4":{"start":{"line":26,"column":2},"end":{"line":44,"column":4}},"5":{"start":{"line":30,"column":22},"end":{"line":30,"column":41}},"6":{"start":{"line":32,"column":20},"end":{"line":32,"column":32}},"7":{"start":{"line":33,"column":8},"end":{"line":39,"column":null}},"8":{"start":{"line":34,"column":10},"end":{"line":34,"column":21}},"9":{"start":{"line":36,"column":10},"end":{"line":38,"column":null}},"10":{"start":{"line":37,"column":12},"end":{"line":37,"column":37}},"11":{"start":{"line":40,"column":8},"end":{"line":40,"column":37}},"12":{"start":{"line":48,"column":18},"end":{"line":48,"column":46}},"13":{"start":{"line":49,"column":2},"end":{"line":51,"column":null}},"14":{"start":{"line":50,"column":4},"end":{"line":50,"column":11}},"15":{"start":{"line":52,"column":22},"end":{"line":52,"column":107}},"16":{"start":{"line":52,"column":48},"end":{"line":52,"column":106}},"17":{"start":{"line":53,"column":2},"end":{"line":95,"column":null}},"18":{"start":{"line":54,"column":4},"end":{"line":73,"column":null}},"19":{"start":{"line":55,"column":6},"end":{"line":61,"column":9}},"20":{"start":{"line":62,"column":11},"end":{"line":73,"column":null}},"21":{"start":{"line":63,"column":6},"end":{"line":72,"column":9}},"22":{"start":{"line":74,"column":9},"end":{"line":95,"column":null}},"23":{"start":{"line":75,"column":4},"end":{"line":94,"column":null}},"24":{"start":{"line":76,"column":6},"end":{"line":82,"column":9}},"25":{"start":{"line":83,"column":11},"end":{"line":94,"column":null}},"26":{"start":{"line":84,"column":6},"end":{"line":93,"column":9}},"27":{"start":{"line":98,"column":0},"end":{"line":141,"column":21}},"28":{"start":{"line":111,"column":23},"end":{"line":111,"column":46}},"29":{"start":{"line":112,"column":21},"end":{"line":112,"column":48}},"30":{"start":{"line":114,"column":4},"end":{"line":118,"column":7}},"31":{"start":{"line":115,"column":6},"end":{"line":117,"column":null}},"32":{"start":{"line":116,"column":8},"end":{"line":116,"column":76}},"33":{"start":{"line":119,"column":4},"end":{"line":139,"column":6}},"34":{"start":{"line":121,"column":8},"end":{"line":123,"column":null}},"35":{"start":{"line":122,"column":10},"end":{"line":122,"column":17}},"36":{"start":{"line":124,"column":8},"end":{"line":126,"column":null}},"37":{"start":{"line":125,"column":10},"end":{"line":125,"column":17}},"38":{"start":{"line":127,"column":22},"end":{"line":127,"column":37}},"39":{"start":{"line":128,"column":8},"end":{"line":128,"column":50}},"40":{"start":{"line":131,"column":8},"end":{"line":133,"column":null}},"41":{"start":{"line":132,"column":10},"end":{"line":132,"column":17}},"42":{"start":{"line":134,"column":8},"end":{"line":136,"column":null}},"43":{"start":{"line":135,"column":10},"end":{"line":135,"column":17}},"44":{"start":{"line":137,"column":8},"end":{"line":137,"column":62}}},"fnMap":{"0":{"name":"luhnCheck","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":18}},"loc":{"start":{"line":25,"column":37},"end":{"line":45,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":30,"column":11},"end":{"line":30,"column":12}},"loc":{"start":{"line":30,"column":22},"end":{"line":30,"column":41}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":14},"end":{"line":31,"column":15}},"loc":{"start":{"line":31,"column":53},"end":{"line":41,"column":7}}},"3":{"name":"checkForCardNumbers","decl":{"start":{"line":47,"column":9},"end":{"line":47,"column":28}},"loc":{"start":{"line":47,"column":104},"end":{"line":96,"column":1}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":52,"column":37},"end":{"line":52,"column":38}},"loc":{"start":{"line":52,"column":48},"end":{"line":52,"column":106}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":110,"column":2},"end":{"line":110,"column":8}},"loc":{"start":{"line":110,"column":16},"end":{"line":140,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":114,"column":21},"end":{"line":114,"column":22}},"loc":{"start":{"line":114,"column":33},"end":{"line":118,"column":5}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":120,"column":6},"end":{"line":120,"column":13}},"loc":{"start":{"line":120,"column":18},"end":{"line":129,"column":7}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":130,"column":6},"end":{"line":130,"column":21}},"loc":{"start":{"line":130,"column":26},"end":{"line":138,"column":7}}}},"branchMap":{"0":{"loc":{"start":{"line":33,"column":8},"end":{"line":39,"column":null}},"type":"if","locations":[{"start":{"line":33,"column":8},"end":{"line":39,"column":null}}]},"1":{"loc":{"start":{"line":36,"column":10},"end":{"line":38,"column":null}},"type":"if","locations":[{"start":{"line":36,"column":10},"end":{"line":38,"column":null}}]},"2":{"loc":{"start":{"line":49,"column":2},"end":{"line":51,"column":null}},"type":"if","locations":[{"start":{"line":49,"column":2},"end":{"line":51,"column":null}}]},"3":{"loc":{"start":{"line":52,"column":48},"end":{"line":52,"column":106}},"type":"binary-expr","locations":[{"start":{"line":52,"column":48},"end":{"line":52,"column":64}},{"start":{"line":52,"column":68},"end":{"line":52,"column":106}}]},"4":{"loc":{"start":{"line":53,"column":2},"end":{"line":95,"column":null}},"type":"if","locations":[{"start":{"line":53,"column":2},"end":{"line":95,"column":null}},{"start":{"line":74,"column":9},"end":{"line":95,"column":null}}]},"5":{"loc":{"start":{"line":54,"column":4},"end":{"line":73,"column":null}},"type":"if","locations":[{"start":{"line":54,"column":4},"end":{"line":73,"column":null}},{"start":{"line":62,"column":11},"end":{"line":73,"column":null}}]},"6":{"loc":{"start":{"line":62,"column":11},"end":{"line":73,"column":null}},"type":"if","locations":[{"start":{"line":62,"column":11},"end":{"line":73,"column":null}}]},"7":{"loc":{"start":{"line":74,"column":9},"end":{"line":95,"column":null}},"type":"if","locations":[{"start":{"line":74,"column":9},"end":{"line":95,"column":null}}]},"8":{"loc":{"start":{"line":75,"column":4},"end":{"line":94,"column":null}},"type":"if","locations":[{"start":{"line":75,"column":4},"end":{"line":94,"column":null}},{"start":{"line":83,"column":11},"end":{"line":94,"column":null}}]},"9":{"loc":{"start":{"line":83,"column":11},"end":{"line":94,"column":null}},"type":"if","locations":[{"start":{"line":83,"column":11},"end":{"line":94,"column":null}}]},"10":{"loc":{"start":{"line":115,"column":6},"end":{"line":117,"column":null}},"type":"if","locations":[{"start":{"line":115,"column":6},"end":{"line":117,"column":null}}]},"11":{"loc":{"start":{"line":115,"column":10},"end":{"line":115,"column":59}},"type":"binary-expr","locations":[{"start":{"line":115,"column":10},"end":{"line":115,"column":35}},{"start":{"line":115,"column":39},"end":{"line":115,"column":59}}]},"12":{"loc":{"start":{"line":121,"column":8},"end":{"line":123,"column":null}},"type":"if","locations":[{"start":{"line":121,"column":8},"end":{"line":123,"column":null}}]},"13":{"loc":{"start":{"line":124,"column":8},"end":{"line":126,"column":null}},"type":"if","locations":[{"start":{"line":124,"column":8},"end":{"line":126,"column":null}}]},"14":{"loc":{"start":{"line":124,"column":12},"end":{"line":124,"column":76}},"type":"binary-expr","locations":[{"start":{"line":124,"column":12},"end":{"line":124,"column":42}},{"start":{"line":124,"column":46},"end":{"line":124,"column":76}}]},"15":{"loc":{"start":{"line":131,"column":8},"end":{"line":133,"column":null}},"type":"if","locations":[{"start":{"line":131,"column":8},"end":{"line":133,"column":null}}]},"16":{"loc":{"start":{"line":134,"column":8},"end":{"line":136,"column":null}},"type":"if","locations":[{"start":{"line":134,"column":8},"end":{"line":136,"column":null}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":18,"5":297,"6":297,"7":297,"8":145,"9":145,"10":22,"11":297,"12":28,"13":28,"14":12,"15":16,"16":18,"17":16,"18":2,"19":1,"20":1,"21":1,"22":14,"23":2,"24":1,"25":1,"26":1,"27":1,"28":9,"29":9,"30":9,"31":10,"32":10,"33":9,"34":16,"35":0,"36":16,"37":0,"38":16,"39":16,"40":2,"41":0,"42":2,"43":0,"44":2},"f":{"0":18,"1":297,"2":297,"3":28,"4":18,"5":9,"6":10,"7":16,"8":2},"b":{"0":[145],"1":[22],"2":[12],"3":[18,13],"4":[2,14],"5":[1,1],"6":[1],"7":[2],"8":[1,1],"9":[1],"10":[10],"11":[10,10],"12":[0],"13":[0],"14":[16,12],"15":[0],"16":[0]}}
|
|
3
|
-
,"/Users/carl/Development/eslint-plugin/src/pure-functions.ts": {"path":"/Users/carl/Development/eslint-plugin/src/pure-functions.ts","statementMap":{"0":{"start":{"line":12,"column":24},"end":{"line":12,"column":41}},"1":{"start":{"line":14,"column":0},"end":{"line":72,"column":21}},"2":{"start":{"line":26,"column":23},"end":{"line":26,"column":46}},"3":{"start":{"line":27,"column":20},"end":{"line":27,"column":43}},"4":{"start":{"line":30,"column":28},"end":{"line":30,"column":49}},"5":{"start":{"line":31,"column":28},"end":{"line":31,"column":38}},"6":{"start":{"line":32,"column":6},"end":{"line":34,"column":null}},"7":{"start":{"line":33,"column":8},"end":{"line":33,"column":15}},"8":{"start":{"line":36,"column":20},"end":{"line":36,"column":35}},"9":{"start":{"line":38,"column":6},"end":{"line":63,"column":null}},"10":{"start":{"line":39,"column":8},"end":{"line":39,"column":41}},"11":{"start":{"line":40,"column":8},"end":{"line":62,"column":null}},"12":{"start":{"line":41,"column":27},"end":{"line":41,"column":45}},"13":{"start":{"line":42,"column":10},"end":{"line":61,"column":null}},"14":{"start":{"line":45,"column":37},"end":{"line":45,"column":108}},"15":{"start":{"line":46,"column":38},"end":{"line":46,"column":58}},"16":{"start":{"line":47,"column":14},"end":{"line":53,"column":16}},"17":{"start":{"line":56,"column":12},"end":{"line":60,"column":15}},"18":{"start":{"line":66,"column":4},"end":{"line":70,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":25,"column":2},"end":{"line":25,"column":8}},"loc":{"start":{"line":25,"column":34},"end":{"line":71,"column":3}}},"1":{"name":"check","decl":{"start":{"line":29,"column":13},"end":{"line":29,"column":18}},"loc":{"start":{"line":29,"column":36},"end":{"line":64,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":44,"column":32},"end":{"line":44,"column":33}},"loc":{"start":{"line":44,"column":47},"end":{"line":54,"column":13}}}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":6},"end":{"line":34,"column":null}},"type":"if","locations":[{"start":{"line":32,"column":6},"end":{"line":34,"column":null}}]},"1":{"loc":{"start":{"line":42,"column":10},"end":{"line":61,"column":null}},"type":"if","locations":[{"start":{"line":42,"column":10},"end":{"line":61,"column":null}}]},"2":{"loc":{"start":{"line":43,"column":12},"end":{"line":54,"column":14}},"type":"binary-expr","locations":[{"start":{"line":43,"column":12},"end":{"line":43,"column":29}},{"start":{"line":44,"column":12},"end":{"line":54,"column":14}}]},"3":{"loc":{"start":{"line":48,"column":16},"end":{"line":51,"column":null}},"type":"binary-expr","locations":[{"start":{"line":48,"column":17},"end":{"line":48,"column":54}},{"start":{"line":48,"column":58},"end":{"line":48,"column":95}},{"start":{"line":49,"column":16},"end":{"line":51,"column":null}}]},"4":{"loc":{"start":{"line":50,"column":19},"end":{"line":51,"column":57}},"type":"binary-expr","locations":[{"start":{"line":50,"column":19},"end":{"line":50,"column":78}},{"start":{"line":51,"column":18},"end":{"line":51,"column":57}}]}},"s":{"0":1,"1":1,"2":3,"3":3,"4":5,"5":5,"6":5,"7":0,"8":5,"9":5,"10":6,"11":6,"12":12,"13":12,"14":12,"15":12,"16":12,"17":2,"18":3},"f":{"0":3,"1":5,"2":12},"b":{"0":[0],"1":[2],"2":[12,12],"3":[12,9,3],"4":[3,1]}}
|
|
4
|
-
}
|