@checkdigit/eslint-plugin 7.0.0-PR.88-cd9f → 7.0.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/README.md
CHANGED
|
@@ -14,6 +14,10 @@ Copyright (c) 2021-2024 [Check Digit, LLC](https://checkdigit.com)
|
|
|
14
14
|
- `@checkdigit/object-literal-response`
|
|
15
15
|
- `@checkdigit/no-test-import`
|
|
16
16
|
- `@checkdigit/no-promise-instance-method`
|
|
17
|
+
- `@checkdigit/invalid-json-stringify`
|
|
18
|
+
- `@checkdigit/no-full-response`
|
|
19
|
+
- `@checkdigit/require-resolve-full-response`
|
|
20
|
+
- `@checkdigit/require-type-out-of-type-only-imports`
|
|
17
21
|
|
|
18
22
|
## Configurations
|
|
19
23
|
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
// src/agent/no-full-response.ts
|
|
2
|
-
import {
|
|
3
|
-
import { ESLintUtils, TSESTree } from "@typescript-eslint/utils";
|
|
2
|
+
import { ESLintUtils } from "@typescript-eslint/utils";
|
|
4
3
|
import getDocumentationUrl from "../get-documentation-url.mjs";
|
|
5
|
-
import { getTypeParentNode } from "../library/ts-tree.mjs";
|
|
6
4
|
var ruleId = "no-full-response";
|
|
7
5
|
var createRule = ESLintUtils.RuleCreator((name) => getDocumentationUrl(name));
|
|
8
6
|
var rule = createRule({
|
|
@@ -10,51 +8,21 @@ var rule = createRule({
|
|
|
10
8
|
meta: {
|
|
11
9
|
type: "suggestion",
|
|
12
10
|
docs: {
|
|
13
|
-
description: "
|
|
11
|
+
description: "FullResponse type should not be used."
|
|
14
12
|
},
|
|
15
13
|
messages: {
|
|
16
|
-
|
|
17
|
-
unknownError: 'Unknown error occurred in file "{{fileName}}": {{ error }}.'
|
|
14
|
+
noFullResponse: "Please remove the usage of FullResponse type."
|
|
18
15
|
},
|
|
19
|
-
fixable: "code",
|
|
20
16
|
schema: []
|
|
21
17
|
},
|
|
22
18
|
defaultOptions: [],
|
|
23
19
|
create(context) {
|
|
24
|
-
const sourceCode = context.sourceCode;
|
|
25
20
|
return {
|
|
26
21
|
'TSTypeReference[typeName.name="FullResponse"]': (typeReference) => {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
context.report({
|
|
32
|
-
messageId: "removeFullResponse",
|
|
33
|
-
node: typeReference,
|
|
34
|
-
fix(fixer) {
|
|
35
|
-
return fixer.replaceText(typeParentNode, sourceCode.getText(typeParentNode.expression));
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
} else {
|
|
39
|
-
context.report({
|
|
40
|
-
messageId: "removeFullResponse",
|
|
41
|
-
node: typeReference,
|
|
42
|
-
fix(fixer) {
|
|
43
|
-
return fixer.remove(typeParentNode);
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
} catch (error) {
|
|
48
|
-
console.error(`Failed to apply ${ruleId} rule for file "${context.filename}":`, error);
|
|
49
|
-
context.report({
|
|
50
|
-
node: typeReference,
|
|
51
|
-
messageId: "unknownError",
|
|
52
|
-
data: {
|
|
53
|
-
fileName: context.filename,
|
|
54
|
-
error: error instanceof Error ? error.toString() : JSON.stringify(error)
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
}
|
|
22
|
+
context.report({
|
|
23
|
+
messageId: "noFullResponse",
|
|
24
|
+
node: typeReference
|
|
25
|
+
});
|
|
58
26
|
}
|
|
59
27
|
};
|
|
60
28
|
}
|
|
@@ -64,4 +32,4 @@ export {
|
|
|
64
32
|
no_full_response_default as default,
|
|
65
33
|
ruleId
|
|
66
34
|
};
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L25vLWZ1bGwtcmVzcG9uc2UudHMiXSwKICAibWFwcGluZ3MiOiAiO0FBUUEsU0FBUyxtQkFBNkI7QUFDdEMsT0FBTyx5QkFBeUI7QUFFekIsSUFBTSxTQUFTO0FBRXRCLElBQU0sYUFBYSxZQUFZLFlBQVksQ0FBQyxTQUFTLG9CQUFvQixJQUFJLENBQUM7QUFFOUUsSUFBTSxPQUFpRCxXQUFXO0FBQUEsRUFDaEUsTUFBTTtBQUFBLEVBQ04sTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLE1BQ0osYUFBYTtBQUFBLElBQ2Y7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLGdCQUFnQjtBQUFBLElBQ2xCO0FBQUEsSUFDQSxRQUFRLENBQUM7QUFBQSxFQUNYO0FBQUEsRUFDQSxnQkFBZ0IsQ0FBQztBQUFBLEVBQ2pCLE9BQU8sU0FBUztBQUNkLFdBQU87QUFBQSxNQUNMLGlEQUFpRCxDQUFDLGtCQUE0QztBQUM1RixnQkFBUSxPQUFPO0FBQUEsVUFDYixXQUFXO0FBQUEsVUFDWCxNQUFNO0FBQUEsUUFDUixDQUFDO0FBQUEsTUFDSDtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0YsQ0FBQztBQUVELElBQU8sMkJBQVE7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
package/dist-mjs/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/index.ts
|
|
2
|
-
import
|
|
2
|
+
import fs from "node:fs";
|
|
3
3
|
import invalidJsonStringify, { ruleId as invalidJsonStringifyRuleId } from "./invalid-json-stringify.mjs";
|
|
4
4
|
import noFullResponse, { ruleId as noFullResponseRuleId } from "./agent/no-full-response.mjs";
|
|
5
5
|
import noPromiseInstanceMethod, { ruleId as noPromiseInstanceMethodRuleId } from "./no-promise-instance-method.mjs";
|
|
@@ -34,10 +34,11 @@ var rules = {
|
|
|
34
34
|
[requireResolveFullResponseRuleId]: requireResolveFullResponse,
|
|
35
35
|
[requireTypeOutOfTypeOnlyImportsRuleId]: requireTypeOutOfTypeOnlyImports
|
|
36
36
|
};
|
|
37
|
+
var packageJson = JSON.parse(fs.readFileSync("package.json", "utf-8"));
|
|
37
38
|
var plugin = {
|
|
38
39
|
meta: {
|
|
39
|
-
name:
|
|
40
|
-
version:
|
|
40
|
+
name: packageJson.name,
|
|
41
|
+
version: packageJson.version
|
|
41
42
|
},
|
|
42
43
|
rules
|
|
43
44
|
};
|
|
@@ -90,4 +91,4 @@ var src_default = pluginToExport;
|
|
|
90
91
|
export {
|
|
91
92
|
src_default as default
|
|
92
93
|
};
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ESLintUtils } from '@typescript-eslint/utils';
|
|
2
2
|
export declare const ruleId = "no-full-response";
|
|
3
|
-
declare const rule: ESLintUtils.RuleModule<'
|
|
3
|
+
declare const rule: ESLintUtils.RuleModule<'noFullResponse'>;
|
|
4
4
|
export default rule;
|
package/package.json
CHANGED
|
@@ -1 +1,96 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"name": "@checkdigit/eslint-plugin",
|
|
3
|
+
"version": "7.0.0",
|
|
4
|
+
"description": "Check Digit eslint plugins",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"eslint",
|
|
7
|
+
"eslintplugin"
|
|
8
|
+
],
|
|
9
|
+
"homepage": "https://github.com/checkdigit/eslint-plugin#readme",
|
|
10
|
+
"bugs": {
|
|
11
|
+
"url": "https://github.com/checkdigit/eslint-plugin/issues"
|
|
12
|
+
},
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "https://github.com/checkdigit/eslint-plugin"
|
|
16
|
+
},
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"author": "Check Digit, LLC",
|
|
19
|
+
"sideEffects": false,
|
|
20
|
+
"type": "module",
|
|
21
|
+
"exports": {
|
|
22
|
+
".": {
|
|
23
|
+
"types": "./dist-types/index.d.ts",
|
|
24
|
+
"import": "./dist-mjs/index.mjs",
|
|
25
|
+
"default": "./dist-mjs/index.mjs"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"files": [
|
|
29
|
+
"src",
|
|
30
|
+
"dist-types",
|
|
31
|
+
"dist-mjs",
|
|
32
|
+
"!src/**/test/**",
|
|
33
|
+
"!src/**/*.test.ts",
|
|
34
|
+
"!src/**/*.spec.ts",
|
|
35
|
+
"!dist-types/**/test/**",
|
|
36
|
+
"!dist-types/**/*.test.d.ts",
|
|
37
|
+
"!dist-types/**/*.spec.d.ts",
|
|
38
|
+
"!dist-mjs/**/test/**",
|
|
39
|
+
"!dist-mjs/**/*.test.mjs",
|
|
40
|
+
"!dist-mjs/**/*.spec.mjs",
|
|
41
|
+
"SECURITY.md"
|
|
42
|
+
],
|
|
43
|
+
"scripts": {
|
|
44
|
+
"build:dist-mjs": "rimraf dist-mjs && npx builder --type=module --sourceMap --outDir=dist-mjs && node dist-mjs/index.mjs",
|
|
45
|
+
"build:dist-types": "rimraf dist-types && npx builder --type=types --outDir=dist-types",
|
|
46
|
+
"ci:compile": "tsc --noEmit",
|
|
47
|
+
"ci:coverage": "NODE_OPTIONS=\"--disable-warning ExperimentalWarning --experimental-vm-modules\" jest --coverage=true",
|
|
48
|
+
"ci:lint": "npm run lint",
|
|
49
|
+
"ci:style": "npm run prettier",
|
|
50
|
+
"ci:test": "NODE_OPTIONS=\"--disable-warning ExperimentalWarning --experimental-vm-modules\" jest --coverage=false",
|
|
51
|
+
"lint": "eslint --max-warnings 0 .",
|
|
52
|
+
"lint:fix": "eslint --max-warnings 0 --fix .",
|
|
53
|
+
"prepare": "",
|
|
54
|
+
"prepublishOnly": "npm run build:dist-types && npm run build:dist-mjs",
|
|
55
|
+
"prettier": "prettier --ignore-path .gitignore --list-different .",
|
|
56
|
+
"prettier:fix": "prettier --ignore-path .gitignore --write .",
|
|
57
|
+
"test": "npm run ci:compile && npm run ci:test && npm run ci:lint && npm run ci:style"
|
|
58
|
+
},
|
|
59
|
+
"prettier": "@checkdigit/prettier-config",
|
|
60
|
+
"jest": {
|
|
61
|
+
"preset": "@checkdigit/jest-config"
|
|
62
|
+
},
|
|
63
|
+
"dependencies": {
|
|
64
|
+
"@typescript-eslint/type-utils": "^8.10.0",
|
|
65
|
+
"@typescript-eslint/utils": "^8.10.0",
|
|
66
|
+
"ts-api-utils": "^1.3.0"
|
|
67
|
+
},
|
|
68
|
+
"devDependencies": {
|
|
69
|
+
"@checkdigit/jest-config": "^6.0.2",
|
|
70
|
+
"@checkdigit/prettier-config": "^5.5.1",
|
|
71
|
+
"@checkdigit/typescript-config": "8.0.0",
|
|
72
|
+
"@eslint/js": "^9.12.0",
|
|
73
|
+
"@types/eslint": "^9.6.1",
|
|
74
|
+
"@types/eslint-config-prettier": "^6.11.3",
|
|
75
|
+
"@typescript-eslint/parser": "^8.10.0",
|
|
76
|
+
"@typescript-eslint/rule-tester": "^8.10.0",
|
|
77
|
+
"eslint": "^9.12.0",
|
|
78
|
+
"eslint-config-prettier": "^9.1.0",
|
|
79
|
+
"eslint-import-resolver-typescript": "^3.6.3",
|
|
80
|
+
"eslint-plugin-eslint-plugin": "^6.2.0",
|
|
81
|
+
"eslint-plugin-import": "^2.31.0",
|
|
82
|
+
"eslint-plugin-no-only-tests": "^3.3.0",
|
|
83
|
+
"eslint-plugin-no-secrets": "^1.0.2",
|
|
84
|
+
"eslint-plugin-node": "^11.1.0",
|
|
85
|
+
"eslint-plugin-sonarjs": "1.0.4",
|
|
86
|
+
"http-status-codes": "^2.3.0",
|
|
87
|
+
"rimraf": "^6.0.1",
|
|
88
|
+
"typescript-eslint": "^8.10.0"
|
|
89
|
+
},
|
|
90
|
+
"peerDependencies": {
|
|
91
|
+
"eslint": ">=9 <10"
|
|
92
|
+
},
|
|
93
|
+
"engines": {
|
|
94
|
+
"node": ">=20.17"
|
|
95
|
+
}
|
|
96
|
+
}
|
|
@@ -6,67 +6,33 @@
|
|
|
6
6
|
* This code is licensed under the MIT license (see LICENSE.txt for details).
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { strict as assert } from 'node:assert';
|
|
10
9
|
import { ESLintUtils, TSESTree } from '@typescript-eslint/utils';
|
|
11
10
|
import getDocumentationUrl from '../get-documentation-url';
|
|
12
|
-
import { getTypeParentNode } from '../library/ts-tree';
|
|
13
11
|
|
|
14
12
|
export const ruleId = 'no-full-response';
|
|
15
13
|
|
|
16
14
|
const createRule = ESLintUtils.RuleCreator((name) => getDocumentationUrl(name));
|
|
17
15
|
|
|
18
|
-
const rule: ESLintUtils.RuleModule<'
|
|
16
|
+
const rule: ESLintUtils.RuleModule<'noFullResponse'> = createRule({
|
|
19
17
|
name: ruleId,
|
|
20
18
|
meta: {
|
|
21
19
|
type: 'suggestion',
|
|
22
20
|
docs: {
|
|
23
|
-
description: '
|
|
21
|
+
description: 'FullResponse type should not be used.',
|
|
24
22
|
},
|
|
25
23
|
messages: {
|
|
26
|
-
|
|
27
|
-
unknownError: 'Unknown error occurred in file "{{fileName}}": {{ error }}.',
|
|
24
|
+
noFullResponse: 'Please remove the usage of FullResponse type.',
|
|
28
25
|
},
|
|
29
|
-
fixable: 'code',
|
|
30
26
|
schema: [],
|
|
31
27
|
},
|
|
32
28
|
defaultOptions: [],
|
|
33
29
|
create(context) {
|
|
34
|
-
const sourceCode = context.sourceCode;
|
|
35
|
-
|
|
36
30
|
return {
|
|
37
31
|
'TSTypeReference[typeName.name="FullResponse"]': (typeReference: TSESTree.TSTypeReference) => {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
context.report({
|
|
43
|
-
messageId: 'removeFullResponse',
|
|
44
|
-
node: typeReference,
|
|
45
|
-
fix(fixer) {
|
|
46
|
-
return fixer.replaceText(typeParentNode, sourceCode.getText(typeParentNode.expression));
|
|
47
|
-
},
|
|
48
|
-
});
|
|
49
|
-
} else {
|
|
50
|
-
context.report({
|
|
51
|
-
messageId: 'removeFullResponse',
|
|
52
|
-
node: typeReference,
|
|
53
|
-
fix(fixer) {
|
|
54
|
-
return fixer.remove(typeParentNode);
|
|
55
|
-
},
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
} catch (error) {
|
|
59
|
-
// eslint-disable-next-line no-console
|
|
60
|
-
console.error(`Failed to apply ${ruleId} rule for file "${context.filename}":`, error);
|
|
61
|
-
context.report({
|
|
62
|
-
node: typeReference,
|
|
63
|
-
messageId: 'unknownError',
|
|
64
|
-
data: {
|
|
65
|
-
fileName: context.filename,
|
|
66
|
-
error: error instanceof Error ? error.toString() : JSON.stringify(error),
|
|
67
|
-
},
|
|
68
|
-
});
|
|
69
|
-
}
|
|
32
|
+
context.report({
|
|
33
|
+
messageId: 'noFullResponse',
|
|
34
|
+
node: typeReference,
|
|
35
|
+
});
|
|
70
36
|
},
|
|
71
37
|
};
|
|
72
38
|
},
|
package/src/index.ts
CHANGED
|
@@ -6,9 +6,10 @@
|
|
|
6
6
|
* This code is licensed under the MIT license (see LICENSE.txt for details).
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
import fs from 'node:fs';
|
|
10
|
+
|
|
9
11
|
import type { TSESLint } from '@typescript-eslint/utils';
|
|
10
12
|
|
|
11
|
-
import _package from '../package.json' with { type: 'json' };
|
|
12
13
|
import invalidJsonStringify, { ruleId as invalidJsonStringifyRuleId } from './invalid-json-stringify';
|
|
13
14
|
import noFullResponse, { ruleId as noFullResponseRuleId } from './agent/no-full-response';
|
|
14
15
|
import noPromiseInstanceMethod, { ruleId as noPromiseInstanceMethodRuleId } from './no-promise-instance-method';
|
|
@@ -45,10 +46,11 @@ const rules: Record<string, TSESLint.LooseRuleDefinition> = {
|
|
|
45
46
|
[requireTypeOutOfTypeOnlyImportsRuleId]: requireTypeOutOfTypeOnlyImports,
|
|
46
47
|
};
|
|
47
48
|
|
|
49
|
+
const packageJson = JSON.parse(fs.readFileSync('package.json', 'utf-8')) as { name: string; version: string };
|
|
48
50
|
const plugin: TSESLint.FlatConfig.Plugin = {
|
|
49
51
|
meta: {
|
|
50
|
-
name:
|
|
51
|
-
version:
|
|
52
|
+
name: packageJson.name,
|
|
53
|
+
version: packageJson.version,
|
|
52
54
|
},
|
|
53
55
|
rules,
|
|
54
56
|
};
|