@checkdigit/eslint-plugin 7.3.0-PR.75-4246 → 7.3.0-PR.75-428c
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/dist-mjs/agent/agent-test-wiring.mjs +59 -37
- package/dist-mjs/agent/fix-function-call-arguments.mjs +2 -2
- package/dist-mjs/index.mjs +5 -1
- package/package.json +1 -1
- package/src/agent/agent-test-wiring.ts +71 -38
- package/src/agent/fix-function-call-arguments.ts +2 -1
- package/src/index.ts +4 -0
|
@@ -4,6 +4,13 @@ import { AST_TOKEN_TYPES, ESLintUtils, TSESTree } from "@typescript-eslint/utils
|
|
|
4
4
|
import getDocumentationUrl from "../get-documentation-url.mjs";
|
|
5
5
|
var ruleId = "agent-test-wiring";
|
|
6
6
|
var createRule = ESLintUtils.RuleCreator((name) => getDocumentationUrl(name));
|
|
7
|
+
var STATEMENT_FIXTURE_RESET = "fixture.reset()";
|
|
8
|
+
var STATEMENT_FIXTURE_RESET_AWAITED = `await ${STATEMENT_FIXTURE_RESET};`;
|
|
9
|
+
var STATEMENT_AGENT_DECLARATION = "let agent: Agent;";
|
|
10
|
+
var STATEMENT_AGENT_CREATION = "agent = await createAgent();";
|
|
11
|
+
var STATEMENT_AGENT_REGISTER = "agent.register(await fixturePlugin(fixture));";
|
|
12
|
+
var STATEMENT_AGENT_ENABLE = "agent.enable();";
|
|
13
|
+
var STATEMENT_AGENT_DISPOSE = "await agent[Symbol.asyncDispose]();";
|
|
7
14
|
var rule = createRule({
|
|
8
15
|
name: ruleId,
|
|
9
16
|
meta: {
|
|
@@ -22,20 +29,29 @@ var rule = createRule({
|
|
|
22
29
|
create(context) {
|
|
23
30
|
const sourceCode = context.sourceCode;
|
|
24
31
|
const importDeclarations = /* @__PURE__ */ new Map();
|
|
25
|
-
let
|
|
26
|
-
let
|
|
32
|
+
let isFixtureUsed = false;
|
|
33
|
+
let beforeAll;
|
|
34
|
+
let afterAll;
|
|
27
35
|
return {
|
|
28
36
|
ImportDeclaration(importDeclaration) {
|
|
29
37
|
const moduleName = importDeclaration.source.value;
|
|
30
38
|
importDeclarations.set(moduleName, importDeclaration);
|
|
39
|
+
if (moduleName === "@checkdigit/fixture" && importDeclaration.specifiers.some(
|
|
40
|
+
(specifier) => specifier.type === TSESTree.AST_NODE_TYPES.ImportSpecifier && specifier.imported.type === TSESTree.AST_NODE_TYPES.Identifier && specifier.imported.name === "createFixture"
|
|
41
|
+
)) {
|
|
42
|
+
isFixtureUsed = true;
|
|
43
|
+
}
|
|
31
44
|
},
|
|
32
45
|
'CallExpression[callee.name="beforeAll"]': (callExpression) => {
|
|
33
|
-
|
|
46
|
+
beforeAll = callExpression;
|
|
34
47
|
},
|
|
35
48
|
'CallExpression[callee.name="afterAll"]': (callExpression) => {
|
|
36
|
-
|
|
49
|
+
afterAll = callExpression;
|
|
37
50
|
},
|
|
38
51
|
"Program:exit"(program) {
|
|
52
|
+
if (!isFixtureUsed) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
39
55
|
try {
|
|
40
56
|
let jestImportFixer;
|
|
41
57
|
let agentImportFixer;
|
|
@@ -66,59 +82,65 @@ import createAgent, { type Agent } from '@checkdigit/agent';`
|
|
|
66
82
|
fixturePluginImportFixer = (fixer) => fixer.insertTextAfter(lastImportDeclaration, `
|
|
67
83
|
import fixturePlugin from '../../plugin/fixture.test';`);
|
|
68
84
|
}
|
|
69
|
-
if (
|
|
70
|
-
const
|
|
71
|
-
assert.ok(
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
);
|
|
79
|
-
if (targetStatement !== void 0) {
|
|
80
|
-
const beforeAllBodyText = sourceCode.getText(arrowFunctionBody);
|
|
81
|
-
if (!beforeAllBodyText.includes("agent = await createAgent();")) {
|
|
85
|
+
if (beforeAll !== void 0) {
|
|
86
|
+
const beforeAllArgument = beforeAll.arguments[0];
|
|
87
|
+
assert.ok(beforeAllArgument !== void 0);
|
|
88
|
+
if (!sourceCode.getText(beforeAllArgument).includes(STATEMENT_AGENT_CREATION)) {
|
|
89
|
+
if (beforeAllArgument.type === TSESTree.AST_NODE_TYPES.ArrowFunctionExpression && beforeAllArgument.body.type === TSESTree.AST_NODE_TYPES.BlockStatement) {
|
|
90
|
+
const fixtureResetStatement = beforeAllArgument.body.body.find(
|
|
91
|
+
(statement) => sourceCode.getText(statement) === STATEMENT_FIXTURE_RESET_AWAITED
|
|
92
|
+
);
|
|
93
|
+
assert.ok(fixtureResetStatement !== void 0);
|
|
82
94
|
beforeAllFixer = (fixer) => fixer.replaceText(
|
|
83
|
-
|
|
95
|
+
fixtureResetStatement,
|
|
84
96
|
[
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
97
|
+
STATEMENT_AGENT_CREATION,
|
|
98
|
+
STATEMENT_AGENT_REGISTER,
|
|
99
|
+
STATEMENT_AGENT_ENABLE,
|
|
100
|
+
STATEMENT_FIXTURE_RESET_AWAITED
|
|
89
101
|
].join("\n")
|
|
90
102
|
);
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
103
|
+
} else {
|
|
104
|
+
beforeAllFixer = (fixer) => fixer.replaceText(
|
|
105
|
+
beforeAllArgument,
|
|
106
|
+
[
|
|
107
|
+
`async () => {`,
|
|
108
|
+
STATEMENT_AGENT_CREATION,
|
|
109
|
+
STATEMENT_AGENT_REGISTER,
|
|
110
|
+
STATEMENT_AGENT_ENABLE,
|
|
111
|
+
STATEMENT_FIXTURE_RESET_AWAITED,
|
|
112
|
+
`}`
|
|
113
|
+
].join("\n")
|
|
94
114
|
);
|
|
95
115
|
}
|
|
116
|
+
agentDeclarationFixer = (fixer) => (
|
|
117
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
118
|
+
fixer.insertTextBefore(beforeAll, `${STATEMENT_AGENT_DECLARATION}
|
|
119
|
+
`)
|
|
120
|
+
);
|
|
96
121
|
}
|
|
97
122
|
}
|
|
98
|
-
if (
|
|
99
|
-
const afterAllArrowFunctionExpression =
|
|
123
|
+
if (afterAll !== void 0) {
|
|
124
|
+
const afterAllArrowFunctionExpression = afterAll.arguments[0];
|
|
100
125
|
assert.ok(
|
|
101
126
|
afterAllArrowFunctionExpression !== void 0 && afterAllArrowFunctionExpression.type === TSESTree.AST_NODE_TYPES.ArrowFunctionExpression
|
|
102
127
|
);
|
|
103
128
|
const arrowFunctionBody = afterAllArrowFunctionExpression.body;
|
|
104
129
|
assert.ok(arrowFunctionBody.type === TSESTree.AST_NODE_TYPES.BlockStatement);
|
|
105
130
|
const afterAllBodyText = sourceCode.getText(arrowFunctionBody);
|
|
106
|
-
if (!afterAllBodyText.includes(
|
|
131
|
+
if (!afterAllBodyText.includes(STATEMENT_AGENT_DISPOSE)) {
|
|
107
132
|
const lastStatement = arrowFunctionBody.body.at(-1);
|
|
108
133
|
assert.ok(lastStatement);
|
|
109
|
-
afterAllFixer = (fixer) => fixer.insertTextAfter(lastStatement,
|
|
134
|
+
afterAllFixer = (fixer) => fixer.insertTextAfter(lastStatement, STATEMENT_AGENT_DISPOSE);
|
|
110
135
|
}
|
|
111
|
-
} else if (
|
|
112
|
-
const nextToken = sourceCode.getTokenAfter(
|
|
136
|
+
} else if (beforeAll !== void 0) {
|
|
137
|
+
const nextToken = sourceCode.getTokenAfter(beforeAll);
|
|
113
138
|
afterAllFixer = (fixer) => fixer.insertTextAfter(
|
|
114
139
|
nextToken !== null && nextToken.type === AST_TOKEN_TYPES.Punctuator ? nextToken : (
|
|
115
140
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
116
|
-
|
|
141
|
+
beforeAll
|
|
117
142
|
),
|
|
118
|
-
`
|
|
119
|
-
afterAll(async () => {
|
|
120
|
-
await agent[Symbol.asyncDispose]();
|
|
121
|
-
});`
|
|
143
|
+
["", `afterAll(async () => {`, STATEMENT_AGENT_DISPOSE, `});`].join("\n")
|
|
122
144
|
);
|
|
123
145
|
}
|
|
124
146
|
if (jestImportFixer !== void 0 || agentImportFixer !== void 0 || fixturePluginImportFixer !== void 0 || agentDeclarationFixer !== void 0 || beforeAllFixer !== void 0 || afterAllFixer !== void 0) {
|
|
@@ -167,4 +189,4 @@ export {
|
|
|
167
189
|
agent_test_wiring_default as default,
|
|
168
190
|
ruleId
|
|
169
191
|
};
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L2FnZW50LXRlc3Qtd2lyaW5nLnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLFNBQVMsVUFBVSxjQUFjO0FBRWpDLFNBQVMsaUJBQWlCLGFBQWEsZ0JBQWdCO0FBR3ZELE9BQU8seUJBQXlCO0FBRXpCLElBQU0sU0FBUztBQUV0QixJQUFNLGFBQWEsWUFBWSxZQUFZLENBQUMsU0FBUyxvQkFBb0IsSUFBSSxDQUFDO0FBRTlFLElBQU0sMEJBQTBCO0FBQ2hDLElBQU0sa0NBQWtDLFNBQVMsdUJBQXVCO0FBQ3hFLElBQU0sOEJBQThCO0FBQ3BDLElBQU0sMkJBQTJCO0FBQ2pDLElBQU0sMkJBQTJCO0FBQ2pDLElBQU0seUJBQXlCO0FBQy9CLElBQU0sMEJBQTBCO0FBRWhDLElBQU0sT0FBb0UsV0FBVztBQUFBLEVBQ25GLE1BQU07QUFBQSxFQUNOLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxJQUNOLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxJQUNmO0FBQUEsSUFDQSxVQUFVO0FBQUEsTUFDUixrQkFBa0I7QUFBQSxNQUNsQixjQUFjO0FBQUEsSUFDaEI7QUFBQSxJQUNBLFNBQVM7QUFBQSxJQUNULFFBQVEsQ0FBQztBQUFBLEVBQ1g7QUFBQSxFQUNBLGdCQUFnQixDQUFDO0FBQUEsRUFDakIsT0FBTyxTQUFTO0FBQ2QsVUFBTSxhQUFhLFFBQVE7QUFDM0IsVUFBTSxxQkFBcUIsb0JBQUksSUFBd0M7QUFDdkUsUUFBSSxnQkFBZ0I7QUFDcEIsUUFBSTtBQUNKLFFBQUk7QUFFSixXQUFPO0FBQUEsTUFDTCxrQkFBa0IsbUJBQW1CO0FBQ25DLGNBQU0sYUFBYSxrQkFBa0IsT0FBTztBQUM1QywyQkFBbUIsSUFBSSxZQUFZLGlCQUFpQjtBQUNwRCxZQUNFLGVBQWUseUJBQ2Ysa0JBQWtCLFdBQVc7QUFBQSxVQUMzQixDQUFDLGNBQ0MsVUFBVSxTQUFTLFNBQVMsZUFBZSxtQkFDM0MsVUFBVSxTQUFTLFNBQVMsU0FBUyxlQUFlLGNBQ3BELFVBQVUsU0FBUyxTQUFTO0FBQUEsUUFDaEMsR0FDQTtBQUNBLDBCQUFnQjtBQUFBLFFBQ2xCO0FBQUEsTUFDRjtBQUFBLE1BQ0EsMkNBQTJDLENBQUMsbUJBQTRDO0FBQ3RGLG9CQUFZO0FBQUEsTUFDZDtBQUFBLE1BQ0EsMENBQTBDLENBQUMsbUJBQTRDO0FBQ3JGLG1CQUFXO0FBQUEsTUFDYjtBQUFBLE1BQ0EsZUFBZSxTQUFTO0FBQ3RCLFlBQUksQ0FBQyxlQUFlO0FBQ2xCO0FBQUEsUUFDRjtBQUVBLFlBQUk7QUFDRixjQUFJO0FBQ0osY0FBSTtBQUNKLGNBQUk7QUFDSixjQUFJO0FBQ0osY0FBSTtBQUNKLGNBQUk7QUFFSixnQkFBTSx3QkFBd0IsQ0FBQyxHQUFHLG1CQUFtQixPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUU7QUFDcEUsaUJBQU8sR0FBRyxxQkFBcUI7QUFFL0IsZ0JBQU0sd0JBQXdCLG1CQUFtQixJQUFJLGVBQWU7QUFDcEUsY0FDRSx5QkFDQSxDQUFDLHNCQUFzQixXQUFXO0FBQUEsWUFDaEMsQ0FBQyxjQUNDLFVBQVUsU0FBUyxTQUFTLGVBQWUsbUJBQzNDLFVBQVUsU0FBUyxTQUFTLFNBQVMsZUFBZSxjQUNwRCxVQUFVLFNBQVMsU0FBUztBQUFBLFVBQ2hDLEdBQ0E7QUFDQSxrQkFBTSx1QkFBdUIsc0JBQXNCLFdBQVcsQ0FBQztBQUMvRCxtQkFBTyxHQUFHLG9CQUFvQjtBQUM5Qiw4QkFBa0IsQ0FBQyxVQUFxQixNQUFNLGlCQUFpQixzQkFBc0IsWUFBWTtBQUFBLFVBQ25HO0FBRUEsZ0JBQU0seUJBQXlCLG1CQUFtQixJQUFJLG1CQUFtQjtBQUN6RSxjQUFJLENBQUMsd0JBQXdCO0FBQzNCLCtCQUFtQixDQUFDLFVBQ2xCLE1BQU07QUFBQSxjQUNKO0FBQUEsY0FDQTtBQUFBO0FBQUEsWUFDRjtBQUFBLFVBQ0o7QUFFQSxnQkFBTSxpQ0FBaUMsbUJBQW1CLElBQUksMkJBQTJCO0FBQ3pGLGNBQUksQ0FBQyxnQ0FBZ0M7QUFDbkMsdUNBQTJCLENBQUMsVUFDMUIsTUFBTSxnQkFBZ0IsdUJBQXVCO0FBQUEsdURBQTBEO0FBQUEsVUFDM0c7QUFFQSxjQUFJLGNBQWMsUUFBVztBQUMzQixrQkFBTSxvQkFBb0IsVUFBVSxVQUFVLENBQUM7QUFDL0MsbUJBQU8sR0FBRyxzQkFBc0IsTUFBUztBQUN6QyxnQkFBSSxDQUFDLFdBQVcsUUFBUSxpQkFBaUIsRUFBRSxTQUFTLHdCQUF3QixHQUFHO0FBQzdFLGtCQUNFLGtCQUFrQixTQUFTLFNBQVMsZUFBZSwyQkFDbkQsa0JBQWtCLEtBQUssU0FBUyxTQUFTLGVBQWUsZ0JBQ3hEO0FBQ0Esc0JBQU0sd0JBQXdCLGtCQUFrQixLQUFLLEtBQUs7QUFBQSxrQkFDeEQsQ0FBQyxjQUFjLFdBQVcsUUFBUSxTQUFTLE1BQU07QUFBQSxnQkFDbkQ7QUFDQSx1QkFBTyxHQUFHLDBCQUEwQixNQUFTO0FBQzdDLGlDQUFpQixDQUFDLFVBQ2hCLE1BQU07QUFBQSxrQkFDSjtBQUFBLGtCQUNBO0FBQUEsb0JBQ0U7QUFBQSxvQkFDQTtBQUFBLG9CQUNBO0FBQUEsb0JBQ0E7QUFBQSxrQkFDRixFQUFFLEtBQUssSUFBSTtBQUFBLGdCQUNiO0FBQUEsY0FDSixPQUFPO0FBQ0wsaUNBQWlCLENBQUMsVUFDaEIsTUFBTTtBQUFBLGtCQUNKO0FBQUEsa0JBQ0E7QUFBQSxvQkFDRTtBQUFBLG9CQUNBO0FBQUEsb0JBQ0E7QUFBQSxvQkFDQTtBQUFBLG9CQUNBO0FBQUEsb0JBQ0E7QUFBQSxrQkFDRixFQUFFLEtBQUssSUFBSTtBQUFBLGdCQUNiO0FBQUEsY0FDSjtBQUNBLHNDQUF3QixDQUFDO0FBQUE7QUFBQSxnQkFFdkIsTUFBTSxpQkFBaUIsV0FBWSxHQUFHLDJCQUEyQjtBQUFBLENBQUk7QUFBQTtBQUFBLFlBQ3pFO0FBQUEsVUFDRjtBQUVBLGNBQUksYUFBYSxRQUFXO0FBQzFCLGtCQUFNLGtDQUFrQyxTQUFTLFVBQVUsQ0FBQztBQUM1RCxtQkFBTztBQUFBLGNBQ0wsb0NBQW9DLFVBQ2xDLGdDQUFnQyxTQUFTLFNBQVMsZUFBZTtBQUFBLFlBQ3JFO0FBQ0Esa0JBQU0sb0JBQW9CLGdDQUFnQztBQUMxRCxtQkFBTyxHQUFHLGtCQUFrQixTQUFTLFNBQVMsZUFBZSxjQUFjO0FBRTNFLGtCQUFNLG1CQUFtQixXQUFXLFFBQVEsaUJBQWlCO0FBQzdELGdCQUFJLENBQUMsaUJBQWlCLFNBQVMsdUJBQXVCLEdBQUc7QUFDdkQsb0JBQU0sZ0JBQWdCLGtCQUFrQixLQUFLLEdBQUcsRUFBRTtBQUNsRCxxQkFBTyxHQUFHLGFBQWE7QUFDdkIsOEJBQWdCLENBQUMsVUFBcUIsTUFBTSxnQkFBZ0IsZUFBZSx1QkFBdUI7QUFBQSxZQUNwRztBQUFBLFVBQ0YsV0FBVyxjQUFjLFFBQVc7QUFDbEMsa0JBQU0sWUFBWSxXQUFXLGNBQWMsU0FBUztBQUNwRCw0QkFBZ0IsQ0FBQyxVQUNmLE1BQU07QUFBQSxjQUNKLGNBQWMsUUFBUSxVQUFVLFNBQVMsZ0JBQWdCLGFBQ3JEO0FBQUE7QUFBQSxnQkFFQTtBQUFBO0FBQUEsY0FDSixDQUFDLElBQUksMEJBQTBCLHlCQUF5QixLQUFLLEVBQUUsS0FBSyxJQUFJO0FBQUEsWUFDMUU7QUFBQSxVQUNKO0FBRUEsY0FDRSxvQkFBb0IsVUFDcEIscUJBQXFCLFVBQ3JCLDZCQUE2QixVQUM3QiwwQkFBMEIsVUFDMUIsbUJBQW1CLFVBQ25CLGtCQUFrQixRQUNsQjtBQUNBLG9CQUFRLE9BQU87QUFBQSxjQUNiLFdBQVc7QUFBQSxjQUNYLE1BQU07QUFBQSxjQUNOLENBQUMsSUFBSSxPQUFPO0FBQ1Ysb0JBQUksb0JBQW9CLFFBQVc7QUFDakMsd0JBQU0sZ0JBQWdCLEtBQUs7QUFBQSxnQkFDN0I7QUFDQSxvQkFBSSxxQkFBcUIsUUFBVztBQUNsQyx3QkFBTSxpQkFBaUIsS0FBSztBQUFBLGdCQUM5QjtBQUNBLG9CQUFJLDZCQUE2QixRQUFXO0FBQzFDLHdCQUFNLHlCQUF5QixLQUFLO0FBQUEsZ0JBQ3RDO0FBQ0Esb0JBQUksMEJBQTBCLFFBQVc7QUFDdkMsd0JBQU0sc0JBQXNCLEtBQUs7QUFBQSxnQkFDbkM7QUFDQSxvQkFBSSxtQkFBbUIsUUFBVztBQUNoQyx3QkFBTSxlQUFlLEtBQUs7QUFBQSxnQkFDNUI7QUFDQSxvQkFBSSxrQkFBa0IsUUFBVztBQUMvQix3QkFBTSxjQUFjLEtBQUs7QUFBQSxnQkFDM0I7QUFBQSxjQUNGO0FBQUEsWUFDRixDQUFDO0FBQUEsVUFDSDtBQUFBLFFBQ0YsU0FBUyxPQUFPO0FBRWQsa0JBQVEsTUFBTSxtQkFBbUIsTUFBTSxtQkFBbUIsUUFBUSxRQUFRLE1BQU0sS0FBSztBQUNyRixrQkFBUSxPQUFPO0FBQUEsWUFDYixNQUFNO0FBQUEsWUFDTixXQUFXO0FBQUEsWUFDWCxNQUFNO0FBQUEsY0FDSixVQUFVLFFBQVE7QUFBQSxjQUNsQixPQUFPLGlCQUFpQixRQUFRLE1BQU0sU0FBUyxJQUFJLEtBQUssVUFBVSxLQUFLO0FBQUEsWUFDekU7QUFBQSxVQUNGLENBQUM7QUFBQSxRQUNIO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0YsQ0FBQztBQUVELElBQU8sNEJBQVE7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -44,7 +44,7 @@ var rule = createRule({
|
|
|
44
44
|
},
|
|
45
45
|
defaultOptions: [DEFAULT_OPTIONS],
|
|
46
46
|
create(context) {
|
|
47
|
-
const { typesToCheck } = context.options[0];
|
|
47
|
+
const { typesToCheck } = context.options[0] ?? DEFAULT_OPTIONS;
|
|
48
48
|
const parserServices = ESLintUtils.getParserServices(context);
|
|
49
49
|
const typeChecker = parserServices.program.getTypeChecker();
|
|
50
50
|
const sourceCode = context.sourceCode;
|
|
@@ -150,4 +150,4 @@ export {
|
|
|
150
150
|
fix_function_call_arguments_default as default,
|
|
151
151
|
ruleId
|
|
152
152
|
};
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L2ZpeC1mdW5jdGlvbi1jYWxsLWFyZ3VtZW50cy50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFRQSxTQUFTLFVBQVUsY0FBYztBQUNqQyxTQUFTLGFBQWEsZ0JBQWdCO0FBQ3RDLE9BQU8sV0FBVztBQUNsQixPQUFPLHlCQUF5QjtBQUV6QixJQUFNLFNBQVM7QUFLdEIsSUFBTSxrQkFBa0I7QUFBQSxFQUN0QixjQUFjO0FBQUEsSUFDWjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLEVBQ0Y7QUFDRjtBQUVBLElBQU0sYUFBYSxZQUFZLFlBQVksQ0FBQyxTQUFTLG9CQUFvQixJQUFJLENBQUM7QUFDOUUsSUFBTSxNQUFNLE1BQU0sMkNBQTJDO0FBRTdELElBQU0sT0FHRixXQUFXO0FBQUEsRUFDYixNQUFNO0FBQUEsRUFDTixNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsVUFBVTtBQUFBLE1BQ1IscUNBQXFDO0FBQUEsTUFDckMsY0FBYztBQUFBLElBQ2hCO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsTUFDTjtBQUFBLFFBQ0UsTUFBTTtBQUFBLFFBQ04sWUFBWTtBQUFBLFVBQ1YsY0FBYztBQUFBLFlBQ1osYUFBYTtBQUFBLFlBQ2IsTUFBTTtBQUFBLFlBQ04sT0FBTztBQUFBLGNBQ0wsTUFBTTtBQUFBLFlBQ1I7QUFBQSxVQUNGO0FBQUEsUUFDRjtBQUFBLFFBQ0Esc0JBQXNCO0FBQUEsTUFDeEI7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUFBLEVBQ0EsZ0JBQWdCLENBQUMsZUFBZTtBQUFBLEVBQ2hDLE9BQU8sU0FBUztBQUVkLFVBQU0sRUFBRSxhQUFhLElBQUksUUFBUSxRQUFRLENBQUMsS0FBSztBQUMvQyxVQUFNLGlCQUFpQixZQUFZLGtCQUFrQixPQUFPO0FBQzVELFVBQU0sY0FBYyxlQUFlLFFBQVEsZUFBZTtBQUMxRCxVQUFNLGFBQWEsUUFBUTtBQUUzQixXQUFPO0FBQUEsTUFDTCxlQUFlLGdCQUFnQjtBQUc3QixZQUFJLGVBQWUsT0FBTyxTQUFTLFNBQVMsZUFBZSxrQkFBa0I7QUFDM0U7QUFBQSxRQUNGO0FBRUEsWUFBSSxvQkFBb0IsUUFBUSxRQUFRO0FBQ3hDLFlBQUksbUJBQW1CLFdBQVcsUUFBUSxjQUFjLENBQUM7QUFDekQsWUFBSTtBQUNGLGdCQUFNLGVBQWUsZUFBZSxzQkFBc0IsSUFBSSxlQUFlLE1BQU07QUFDbkYsZ0JBQU0sYUFBYSxZQUFZLGtCQUFrQixZQUFZO0FBRTdELGdCQUFNLGFBQWEsV0FBVyxrQkFBa0I7QUFDaEQsY0FBSSxXQUFXLFNBQVMsR0FBRztBQUV6QjtBQUFBLFVBQ0Y7QUFFQSxnQkFBTSxZQUFZLFdBQVcsQ0FBQztBQUM5QixpQkFBTyxHQUFHLFdBQVcsc0JBQXNCO0FBQzNDLGNBQUksVUFBVSxtQkFBbUIsVUFBYSxVQUFVLGVBQWUsU0FBUyxHQUFHO0FBRWpGO0FBQUEsVUFDRjtBQUVBLGNBQUksY0FBYyxVQUFVLGVBQWUsRUFBRSxRQUFRLENBQUM7QUFDdEQsZ0JBQU0scUJBQXFCLFVBQVUsY0FBYztBQUNuRDtBQUFBLFlBQ0U7QUFBQSxZQUNBLG1CQUFtQjtBQUFBLGNBQUksQ0FBQyxzQkFDdEIsWUFBWSxhQUFhLFlBQVksZ0JBQWdCLGlCQUFpQixDQUFDO0FBQUEsWUFDekU7QUFBQSxVQUNGO0FBQ0EsZ0JBQU0sMEJBQTBCLG1CQUFtQjtBQUNuRCxnQkFBTSxtQkFBbUIsZUFBZTtBQUN4QyxnQkFBTSx3QkFBd0IsaUJBQWlCO0FBQy9DLGNBQUksMEJBQTBCLEtBQUssMEJBQTBCLHlCQUF5QjtBQUNwRjtBQUFBLFVBQ0Y7QUFFQSxnQkFBTSxtQkFBc0QsQ0FBQztBQUM3RCxjQUFJLHlCQUF5QjtBQUM3QixxQkFBVyxDQUFDLHNCQUFzQixlQUFlLEtBQUssaUJBQWlCLFFBQVEsR0FBRztBQUNoRixnQkFBSSwwQkFBMEIseUJBQXlCO0FBQ3JEO0FBQUEsWUFDRjtBQUVBLGtCQUFNLG9CQUFvQixtQkFBbUIsc0JBQXNCO0FBQ25FLG1CQUFPLEdBQUcsbUJBQW1CLCtCQUErQjtBQUU1RCxrQkFBTSxlQUFlLFlBQVksZ0JBQWdCLGlCQUFpQjtBQUNsRSxrQkFBTSxhQUFhLFlBQVksa0JBQWtCLGVBQWUsc0JBQXNCLElBQUksZUFBZSxDQUFDO0FBQzFHLGtCQUFNLG1CQUFtQixZQUFZLGFBQWEsVUFBVTtBQUM1RDtBQUFBLGNBQ0U7QUFBQSxjQUNBO0FBQUEsY0FDQSxrQkFBa0I7QUFBQSxjQUNsQixZQUFZLGFBQWEsWUFBWTtBQUFBLFlBQ3ZDO0FBQ0EsZ0JBQUksa0JBQWtCLHNCQUFzQixXQUFXLFFBQVEsZUFBZSxHQUFHLGdCQUFnQjtBQUVqRyxnQkFBSSxDQUFDLGFBQWEsU0FBUyxnQkFBZ0IsS0FBSyxDQUFDLGlCQUFpQixTQUFTLGFBQWEsR0FBRztBQUV6RiwrQkFBaUIsS0FBSyxlQUFlO0FBQ3JDLGtCQUFJLFNBQVM7QUFBQSxZQUNmLFdBQVcsWUFBWSxtQkFBbUIsWUFBWSxZQUFZLEdBQUc7QUFDbkUsK0JBQWlCLEtBQUssZUFBZTtBQUNyQyxrQkFBSSxTQUFTO0FBQ2I7QUFBQSxZQUNGLE9BQU87QUFDTCxrQkFBSSxhQUFhO0FBQUEsWUFDbkI7QUFBQSxVQUNGO0FBRUEsY0FBSSxpQkFBaUIsV0FBVyx1QkFBdUI7QUFDckQ7QUFBQSxVQUNGO0FBRUEsZ0JBQU0saUJBQWlCLGlCQUFpQixDQUFDO0FBQ3pDLGdCQUFNLGdCQUFnQixpQkFBaUIsR0FBRyxFQUFFO0FBQzVDLGlCQUFPLEdBQUcsbUJBQW1CLFVBQWEsa0JBQWtCLE1BQVM7QUFDckUsZ0JBQU0sdUJBQXVCLFdBQVcsY0FBYyxhQUFhO0FBRW5FLGtCQUFRLE9BQU87QUFBQSxZQUNiLE1BQU07QUFBQSxZQUNOLFdBQVc7QUFBQSxZQUNYLElBQUksT0FBTztBQUNULHFCQUFPLE1BQU07QUFBQSxnQkFDWDtBQUFBLGtCQUNFLGVBQWUsTUFBTSxDQUFDO0FBQUEsa0JBQ3RCLHNCQUFzQixVQUFVLE1BQU0scUJBQXFCLE1BQU0sQ0FBQyxJQUFJLGNBQWMsTUFBTSxDQUFDO0FBQUEsZ0JBQzdGO0FBQUEsZ0JBQ0EsaUJBQWlCLElBQUksQ0FBQyxRQUFRLFdBQVcsUUFBUSxHQUFHLENBQUMsRUFBRSxLQUFLLElBQUk7QUFBQSxjQUNsRTtBQUFBLFlBQ0Y7QUFBQSxVQUNGLENBQUM7QUFBQSxRQUNILFNBQVMsT0FBTztBQUVkLGtCQUFRLE1BQU0sbUJBQW1CLE1BQU0sbUJBQW1CLFFBQVEsUUFBUSxNQUFNLEtBQUs7QUFDckYsa0JBQVEsT0FBTztBQUFBLFlBQ2IsTUFBTTtBQUFBLFlBQ04sV0FBVztBQUFBLFlBQ1gsTUFBTTtBQUFBLGNBQ0osVUFBVSxRQUFRO0FBQUEsY0FDbEIsT0FBTyxpQkFBaUIsUUFBUSxNQUFNLFNBQVMsSUFBSSxLQUFLLFVBQVUsS0FBSztBQUFBLFlBQ3pFO0FBQUEsVUFDRixDQUFDO0FBQUEsUUFDSDtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGLENBQUM7QUFFRCxJQUFPLHNDQUFROyIsCiAgIm5hbWVzIjogW10KfQo=
|
package/dist-mjs/index.mjs
CHANGED
|
@@ -143,6 +143,8 @@ var configs = {
|
|
|
143
143
|
"agent-phase-1-test": [
|
|
144
144
|
{
|
|
145
145
|
files: ["**/*.spec.ts", "**/*.test.ts", "src/api/v*/index.ts"],
|
|
146
|
+
// eslint-disable-next-line sonarjs/no-duplicate-string
|
|
147
|
+
ignores: ["src/plugin/**"],
|
|
146
148
|
plugins: {
|
|
147
149
|
"@checkdigit": plugin
|
|
148
150
|
},
|
|
@@ -163,6 +165,7 @@ var configs = {
|
|
|
163
165
|
},
|
|
164
166
|
{
|
|
165
167
|
files: ["**/*.spec.ts"],
|
|
168
|
+
ignores: ["src/plugin/**"],
|
|
166
169
|
plugins: {
|
|
167
170
|
"@checkdigit": plugin
|
|
168
171
|
},
|
|
@@ -174,6 +177,7 @@ var configs = {
|
|
|
174
177
|
"agent-phase-2-production": [
|
|
175
178
|
{
|
|
176
179
|
files: ["**/*.ts"],
|
|
180
|
+
ignores: ["src/plugin/**"],
|
|
177
181
|
plugins: {
|
|
178
182
|
"@checkdigit": plugin
|
|
179
183
|
},
|
|
@@ -202,4 +206,4 @@ var src_default = defaultToExport;
|
|
|
202
206
|
export {
|
|
203
207
|
src_default as default
|
|
204
208
|
};
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,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LFFBQ3BELENBQUMsZUFBZSxlQUFlLEVBQUUsR0FBRztBQUFBLFFBQ3BDLENBQUMsZUFBZSwrQkFBK0IsRUFBRSxHQUFHO0FBQUEsUUFDcEQsQ0FBQyxlQUFlLDhCQUE4QixFQUFFLEdBQUc7QUFBQSxRQUNuRCxDQUFDLGVBQWUscUJBQXFCLEVBQUUsR0FBRztBQUFBLFFBQzFDLENBQUMsZUFBZSw4QkFBOEIsRUFBRSxHQUFHO0FBQUEsTUFDckQ7QUFBQSxJQUNGO0FBQUEsSUFDQTtBQUFBLE1BQ0UsT0FBTyxDQUFDLGNBQWM7QUFBQSxNQUN0QixTQUFTLENBQUMsZUFBZTtBQUFBLE1BQ3pCLFNBQVM7QUFBQSxRQUNQLGVBQWU7QUFBQSxNQUNqQjtBQUFBLE1BQ0EsT0FBTztBQUFBLFFBQ0wsQ0FBQyxlQUFlLHFCQUFxQixFQUFFLEdBQUc7QUFBQSxNQUM1QztBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFDQSw0QkFBNEI7QUFBQSxJQUMxQjtBQUFBLE1BQ0UsT0FBTyxDQUFDLFNBQVM7QUFBQSxNQUNqQixTQUFTLENBQUMsZUFBZTtBQUFBLE1BQ3pCLFNBQVM7QUFBQSxRQUNQLGVBQWU7QUFBQSxNQUNqQjtBQUFBLE1BQ0EsT0FBTztBQUFBLFFBQ0wsQ0FBQyxlQUFlLHNCQUFzQixFQUFFLEdBQUc7QUFBQSxRQUMzQyxDQUFDLGVBQWUsa0JBQWtCLEVBQUUsR0FBRztBQUFBLFFBQ3ZDLENBQUMsZUFBZSxlQUFlLEVBQUUsR0FBRztBQUFBLFFBQ3BDLENBQUMsZUFBZSxzQkFBc0IsRUFBRSxHQUFHO0FBQUEsUUFDM0MsQ0FBQyxlQUFlLGtCQUFrQixFQUFFLEdBQUc7QUFBQSxRQUN2QyxDQUFDLGVBQWUsMkJBQTJCLEVBQUUsR0FBRztBQUFBLFFBQ2hELENBQUMsZUFBZSwrQkFBK0IsRUFBRSxHQUFHO0FBQUEsUUFDcEQsQ0FBQyxlQUFlLGVBQWUsRUFBRSxHQUFHO0FBQUEsUUFDcEMsQ0FBQyxlQUFlLCtCQUErQixFQUFFLEdBQUc7QUFBQSxRQUNwRCxDQUFDLGVBQWUsOEJBQThCLEVBQUUsR0FBRztBQUFBLFFBQ25ELENBQUMsZUFBZSxxQkFBcUIsRUFBRSxHQUFHO0FBQUEsUUFDMUMsQ0FBQyxlQUFlLDhCQUE4QixFQUFFLEdBQUc7QUFBQSxNQUNyRDtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0Y7QUFFQSxJQUFNLGtCQUVGO0FBQUEsRUFDRixHQUFHO0FBQUEsRUFDSDtBQUNGO0FBQ0EsSUFBTyxjQUFROyIsCiAgIm5hbWVzIjogW10KfQo=
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@checkdigit/eslint-plugin","version":"7.3.0-PR.75-
|
|
1
|
+
{"name":"@checkdigit/eslint-plugin","version":"7.3.0-PR.75-428c","description":"Check Digit eslint plugins","keywords":["eslint","eslintplugin"],"homepage":"https://github.com/checkdigit/eslint-plugin#readme","bugs":{"url":"https://github.com/checkdigit/eslint-plugin/issues"},"repository":{"type":"git","url":"https://github.com/checkdigit/eslint-plugin"},"license":"MIT","author":"Check Digit, LLC","sideEffects":false,"type":"module","exports":{".":{"types":"./dist-types/index.d.ts","import":"./dist-mjs/index.mjs","default":"./dist-mjs/index.mjs"}},"files":["src","dist-types","dist-mjs","!src/**/test/**","!src/**/*.test.ts","!src/**/*.spec.ts","!dist-types/**/test/**","!dist-types/**/*.test.d.ts","!dist-types/**/*.spec.d.ts","!dist-mjs/**/test/**","!dist-mjs/**/*.test.mjs","!dist-mjs/**/*.spec.mjs","SECURITY.md"],"scripts":{"build:dist-mjs":"rimraf dist-mjs && npx builder --type=module --sourceMap --outDir=dist-mjs && node dist-mjs/index.mjs","build:dist-types":"rimraf dist-types && npx builder --type=types --outDir=dist-types","ci:compile":"tsc --noEmit","ci:coverage":"NODE_OPTIONS=\"--disable-warning ExperimentalWarning --experimental-vm-modules\" jest --coverage=true","ci:lint":"npm run lint","ci:style":"npm run prettier","ci:test":"NODE_OPTIONS=\"--disable-warning ExperimentalWarning --experimental-vm-modules\" jest --coverage=false","lint":"eslint --max-warnings 0 .","lint:fix":"eslint --max-warnings 0 --fix .","prepare":"","prepublishOnly":"npm run build:dist-types && npm run build:dist-mjs","prettier":"prettier --ignore-path .gitignore --list-different .","prettier:fix":"prettier --ignore-path .gitignore --write .","test":"npm run ci:compile && npm run ci:test && npm run ci:lint && npm run ci:style"},"prettier":"@checkdigit/prettier-config","jest":{"preset":"@checkdigit/jest-config"},"dependencies":{"@typescript-eslint/type-utils":"8.10.0","@typescript-eslint/utils":"8.10.0","debug":"^4.3.7","ts-api-utils":"^1.3.0"},"devDependencies":{"@checkdigit/jest-config":"^6.0.2","@checkdigit/prettier-config":"^5.5.1","@checkdigit/typescript-config":"^8.0.0","@eslint/js":"^9.13.0","@types/debug":"^4.1.12","@types/eslint":"^9.6.1","@types/eslint-config-prettier":"^6.11.3","@typescript-eslint/parser":"8.10.0","@typescript-eslint/rule-tester":"8.10.0","eslint":"^9.13.0","eslint-config-prettier":"^9.1.0","eslint-import-resolver-typescript":"^3.6.3","eslint-plugin-eslint-plugin":"^6.2.0","eslint-plugin-import":"^2.31.0","eslint-plugin-no-only-tests":"^3.3.0","eslint-plugin-no-secrets":"^1.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-sonarjs":"1.0.4","http-status-codes":"^2.3.0","rimraf":"^6.0.1","typescript-eslint":"8.10.0"},"peerDependencies":{"eslint":">=9 <10"},"engines":{"node":">=20.17"}}
|
|
@@ -7,14 +7,24 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import { strict as assert } from 'node:assert';
|
|
10
|
+
|
|
10
11
|
import { AST_TOKEN_TYPES, ESLintUtils, TSESTree } from '@typescript-eslint/utils';
|
|
11
12
|
import type { RuleFix, RuleFixer } from '@typescript-eslint/utils/ts-eslint';
|
|
13
|
+
|
|
12
14
|
import getDocumentationUrl from '../get-documentation-url';
|
|
13
15
|
|
|
14
16
|
export const ruleId = 'agent-test-wiring';
|
|
15
17
|
|
|
16
18
|
const createRule = ESLintUtils.RuleCreator((name) => getDocumentationUrl(name));
|
|
17
19
|
|
|
20
|
+
const STATEMENT_FIXTURE_RESET = 'fixture.reset()';
|
|
21
|
+
const STATEMENT_FIXTURE_RESET_AWAITED = `await ${STATEMENT_FIXTURE_RESET};`;
|
|
22
|
+
const STATEMENT_AGENT_DECLARATION = 'let agent: Agent;';
|
|
23
|
+
const STATEMENT_AGENT_CREATION = 'agent = await createAgent();';
|
|
24
|
+
const STATEMENT_AGENT_REGISTER = 'agent.register(await fixturePlugin(fixture));';
|
|
25
|
+
const STATEMENT_AGENT_ENABLE = 'agent.enable();';
|
|
26
|
+
const STATEMENT_AGENT_DISPOSE = 'await agent[Symbol.asyncDispose]();';
|
|
27
|
+
|
|
18
28
|
const rule: ESLintUtils.RuleModule<'updateTestWiring' | 'unknownError'> = createRule({
|
|
19
29
|
name: ruleId,
|
|
20
30
|
meta: {
|
|
@@ -33,21 +43,37 @@ const rule: ESLintUtils.RuleModule<'updateTestWiring' | 'unknownError'> = create
|
|
|
33
43
|
create(context) {
|
|
34
44
|
const sourceCode = context.sourceCode;
|
|
35
45
|
const importDeclarations = new Map<string, TSESTree.ImportDeclaration>();
|
|
36
|
-
let
|
|
37
|
-
let
|
|
46
|
+
let isFixtureUsed = false;
|
|
47
|
+
let beforeAll: TSESTree.CallExpression | undefined;
|
|
48
|
+
let afterAll: TSESTree.CallExpression | undefined;
|
|
38
49
|
|
|
39
50
|
return {
|
|
40
51
|
ImportDeclaration(importDeclaration) {
|
|
41
52
|
const moduleName = importDeclaration.source.value;
|
|
42
53
|
importDeclarations.set(moduleName, importDeclaration);
|
|
54
|
+
if (
|
|
55
|
+
moduleName === '@checkdigit/fixture' &&
|
|
56
|
+
importDeclaration.specifiers.some(
|
|
57
|
+
(specifier) =>
|
|
58
|
+
specifier.type === TSESTree.AST_NODE_TYPES.ImportSpecifier &&
|
|
59
|
+
specifier.imported.type === TSESTree.AST_NODE_TYPES.Identifier &&
|
|
60
|
+
specifier.imported.name === 'createFixture',
|
|
61
|
+
)
|
|
62
|
+
) {
|
|
63
|
+
isFixtureUsed = true;
|
|
64
|
+
}
|
|
43
65
|
},
|
|
44
66
|
'CallExpression[callee.name="beforeAll"]': (callExpression: TSESTree.CallExpression) => {
|
|
45
|
-
|
|
67
|
+
beforeAll = callExpression;
|
|
46
68
|
},
|
|
47
69
|
'CallExpression[callee.name="afterAll"]': (callExpression: TSESTree.CallExpression) => {
|
|
48
|
-
|
|
70
|
+
afterAll = callExpression;
|
|
49
71
|
},
|
|
50
72
|
'Program:exit'(program) {
|
|
73
|
+
if (!isFixtureUsed) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
|
|
51
77
|
try {
|
|
52
78
|
let jestImportFixer: ((fixer: RuleFixer) => RuleFix) | undefined;
|
|
53
79
|
let agentImportFixer: ((fixer: RuleFixer) => RuleFix) | undefined;
|
|
@@ -89,40 +115,50 @@ const rule: ESLintUtils.RuleModule<'updateTestWiring' | 'unknownError'> = create
|
|
|
89
115
|
fixer.insertTextAfter(lastImportDeclaration, `\nimport fixturePlugin from '../../plugin/fixture.test';`);
|
|
90
116
|
}
|
|
91
117
|
|
|
92
|
-
if (
|
|
93
|
-
const
|
|
94
|
-
assert.ok(
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
118
|
+
if (beforeAll !== undefined) {
|
|
119
|
+
const beforeAllArgument = beforeAll.arguments[0];
|
|
120
|
+
assert.ok(beforeAllArgument !== undefined);
|
|
121
|
+
if (!sourceCode.getText(beforeAllArgument).includes(STATEMENT_AGENT_CREATION)) {
|
|
122
|
+
if (
|
|
123
|
+
beforeAllArgument.type === TSESTree.AST_NODE_TYPES.ArrowFunctionExpression &&
|
|
124
|
+
beforeAllArgument.body.type === TSESTree.AST_NODE_TYPES.BlockStatement
|
|
125
|
+
) {
|
|
126
|
+
const fixtureResetStatement = beforeAllArgument.body.body.find(
|
|
127
|
+
(statement) => sourceCode.getText(statement) === STATEMENT_FIXTURE_RESET_AWAITED,
|
|
128
|
+
);
|
|
129
|
+
assert.ok(fixtureResetStatement !== undefined);
|
|
130
|
+
beforeAllFixer = (fixer: RuleFixer) =>
|
|
131
|
+
fixer.replaceText(
|
|
132
|
+
fixtureResetStatement,
|
|
133
|
+
[
|
|
134
|
+
STATEMENT_AGENT_CREATION,
|
|
135
|
+
STATEMENT_AGENT_REGISTER,
|
|
136
|
+
STATEMENT_AGENT_ENABLE,
|
|
137
|
+
STATEMENT_FIXTURE_RESET_AWAITED,
|
|
138
|
+
].join('\n'),
|
|
139
|
+
);
|
|
140
|
+
} else {
|
|
107
141
|
beforeAllFixer = (fixer: RuleFixer) =>
|
|
108
142
|
fixer.replaceText(
|
|
109
|
-
|
|
143
|
+
beforeAllArgument,
|
|
110
144
|
[
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
145
|
+
`async () => {`,
|
|
146
|
+
STATEMENT_AGENT_CREATION,
|
|
147
|
+
STATEMENT_AGENT_REGISTER,
|
|
148
|
+
STATEMENT_AGENT_ENABLE,
|
|
149
|
+
STATEMENT_FIXTURE_RESET_AWAITED,
|
|
150
|
+
`}`,
|
|
115
151
|
].join('\n'),
|
|
116
152
|
);
|
|
117
|
-
agentDeclarationFixer = (fixer: RuleFixer) =>
|
|
118
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
119
|
-
fixer.insertTextBefore(beforeAllCallExpression!, 'let agent: Agent;\n');
|
|
120
153
|
}
|
|
154
|
+
agentDeclarationFixer = (fixer: RuleFixer) =>
|
|
155
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
156
|
+
fixer.insertTextBefore(beforeAll!, `${STATEMENT_AGENT_DECLARATION}\n`);
|
|
121
157
|
}
|
|
122
158
|
}
|
|
123
159
|
|
|
124
|
-
if (
|
|
125
|
-
const afterAllArrowFunctionExpression =
|
|
160
|
+
if (afterAll !== undefined) {
|
|
161
|
+
const afterAllArrowFunctionExpression = afterAll.arguments[0];
|
|
126
162
|
assert.ok(
|
|
127
163
|
afterAllArrowFunctionExpression !== undefined &&
|
|
128
164
|
afterAllArrowFunctionExpression.type === TSESTree.AST_NODE_TYPES.ArrowFunctionExpression,
|
|
@@ -131,23 +167,20 @@ const rule: ESLintUtils.RuleModule<'updateTestWiring' | 'unknownError'> = create
|
|
|
131
167
|
assert.ok(arrowFunctionBody.type === TSESTree.AST_NODE_TYPES.BlockStatement);
|
|
132
168
|
|
|
133
169
|
const afterAllBodyText = sourceCode.getText(arrowFunctionBody);
|
|
134
|
-
if (!afterAllBodyText.includes(
|
|
170
|
+
if (!afterAllBodyText.includes(STATEMENT_AGENT_DISPOSE)) {
|
|
135
171
|
const lastStatement = arrowFunctionBody.body.at(-1);
|
|
136
172
|
assert.ok(lastStatement);
|
|
137
|
-
afterAllFixer = (fixer: RuleFixer) =>
|
|
138
|
-
fixer.insertTextAfter(lastStatement, 'await agent[Symbol.asyncDispose]();');
|
|
173
|
+
afterAllFixer = (fixer: RuleFixer) => fixer.insertTextAfter(lastStatement, STATEMENT_AGENT_DISPOSE);
|
|
139
174
|
}
|
|
140
|
-
} else if (
|
|
141
|
-
const nextToken = sourceCode.getTokenAfter(
|
|
175
|
+
} else if (beforeAll !== undefined) {
|
|
176
|
+
const nextToken = sourceCode.getTokenAfter(beforeAll);
|
|
142
177
|
afterAllFixer = (fixer: RuleFixer) =>
|
|
143
178
|
fixer.insertTextAfter(
|
|
144
179
|
nextToken !== null && nextToken.type === AST_TOKEN_TYPES.Punctuator
|
|
145
180
|
? nextToken
|
|
146
181
|
: // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
await agent[Symbol.asyncDispose]();
|
|
150
|
-
});`,
|
|
182
|
+
beforeAll!,
|
|
183
|
+
['', `afterAll(async () => {`, STATEMENT_AGENT_DISPOSE, `});`].join('\n'),
|
|
151
184
|
);
|
|
152
185
|
}
|
|
153
186
|
|
|
@@ -61,7 +61,8 @@ const rule: ESLintUtils.RuleModule<
|
|
|
61
61
|
},
|
|
62
62
|
defaultOptions: [DEFAULT_OPTIONS],
|
|
63
63
|
create(context) {
|
|
64
|
-
|
|
64
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
65
|
+
const { typesToCheck } = context.options[0] ?? DEFAULT_OPTIONS;
|
|
65
66
|
const parserServices = ESLintUtils.getParserServices(context);
|
|
66
67
|
const typeChecker = parserServices.program.getTypeChecker();
|
|
67
68
|
const sourceCode = context.sourceCode;
|
package/src/index.ts
CHANGED
|
@@ -155,6 +155,8 @@ const configs: Record<string, TSESLint.FlatConfig.Config | TSESLint.FlatConfig.C
|
|
|
155
155
|
'agent-phase-1-test': [
|
|
156
156
|
{
|
|
157
157
|
files: ['**/*.spec.ts', '**/*.test.ts', 'src/api/v*/index.ts'],
|
|
158
|
+
// eslint-disable-next-line sonarjs/no-duplicate-string
|
|
159
|
+
ignores: ['src/plugin/**'],
|
|
158
160
|
plugins: {
|
|
159
161
|
'@checkdigit': plugin,
|
|
160
162
|
},
|
|
@@ -175,6 +177,7 @@ const configs: Record<string, TSESLint.FlatConfig.Config | TSESLint.FlatConfig.C
|
|
|
175
177
|
},
|
|
176
178
|
{
|
|
177
179
|
files: ['**/*.spec.ts'],
|
|
180
|
+
ignores: ['src/plugin/**'],
|
|
178
181
|
plugins: {
|
|
179
182
|
'@checkdigit': plugin,
|
|
180
183
|
},
|
|
@@ -186,6 +189,7 @@ const configs: Record<string, TSESLint.FlatConfig.Config | TSESLint.FlatConfig.C
|
|
|
186
189
|
'agent-phase-2-production': [
|
|
187
190
|
{
|
|
188
191
|
files: ['**/*.ts'],
|
|
192
|
+
ignores: ['src/plugin/**'],
|
|
189
193
|
plugins: {
|
|
190
194
|
'@checkdigit': plugin,
|
|
191
195
|
},
|