@clipboard-health/eslint-plugin 2.9.0 → 2.10.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.
Files changed (28) hide show
  1. package/README.md +4 -0
  2. package/package.json +5 -3
  3. package/src/index.d.ts +8 -21
  4. package/src/index.js.map +1 -1
  5. package/src/lib/rules/enforce-ts-rest-in-controllers/index.d.ts +2 -8
  6. package/src/lib/rules/enforce-ts-rest-in-controllers/index.js +2 -123
  7. package/src/lib/rules/enforce-ts-rest-in-controllers/index.js.map +1 -1
  8. package/src/lib/rules/no-cross-contract-imports/index.d.ts +2 -4
  9. package/src/lib/rules/no-cross-contract-imports/index.js +2 -115
  10. package/src/lib/rules/no-cross-contract-imports/index.js.map +1 -1
  11. package/src/lib/rules/require-contract-fixture-construction/index.d.ts +2 -5
  12. package/src/lib/rules/require-contract-fixture-construction/index.js +2 -613
  13. package/src/lib/rules/require-contract-fixture-construction/index.js.map +1 -1
  14. package/src/lib/rules/require-contract-response-parse/index.d.ts +2 -23
  15. package/src/lib/rules/require-contract-response-parse/index.js +2 -374
  16. package/src/lib/rules/require-contract-response-parse/index.js.map +1 -1
  17. package/src/lib/rules/require-http-module-factory/index.d.ts +2 -4
  18. package/src/lib/rules/require-http-module-factory/index.js +2 -71
  19. package/src/lib/rules/require-http-module-factory/index.js.map +1 -1
  20. package/src/lib/rules/require-run-validators-with-upsert/index.d.ts +2 -4
  21. package/src/lib/rules/require-run-validators-with-upsert/index.js +2 -94
  22. package/src/lib/rules/require-run-validators-with-upsert/index.js.map +1 -1
  23. package/src/lib/rules/require-zod-import-in-contracts/index.d.ts +2 -4
  24. package/src/lib/rules/require-zod-import-in-contracts/index.js +2 -46
  25. package/src/lib/rules/require-zod-import-in-contracts/index.js.map +1 -1
  26. package/src/lib/createRule.d.ts +0 -4
  27. package/src/lib/createRule.js +0 -6
  28. package/src/lib/createRule.js.map +0 -1
@@ -1,616 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const utils_1 = require("@typescript-eslint/utils");
4
- const createRule_1 = require("../../createRule");
5
- const CONTRACT_PACKAGE_PREFIX = "@clipboard-health/contract-";
6
- const MOCKS_FILE_PATTERN = /\/(?:testUtils|test-utils)\/mocks\.[cm]?[jt]sx?$/u;
7
- const MOCK_NAME_PATTERN = /mock/iu;
8
- const MUTATING_METHOD_NAMES = new Set([
9
- "add",
10
- "clear",
11
- "copyWithin",
12
- "delete",
13
- "fill",
14
- "pop",
15
- "push",
16
- "reverse",
17
- "set",
18
- "shift",
19
- "sort",
20
- "splice",
21
- "unshift",
22
- ]);
23
- const OBJECT_MUTATOR_NAMES = new Set([
24
- "assign",
25
- "defineProperties",
26
- "defineProperty",
27
- "setPrototypeOf",
28
- ]);
29
- function unwrap(node) {
30
- let current = node;
31
- while (current?.type === utils_1.AST_NODE_TYPES.ChainExpression ||
32
- current?.type === utils_1.AST_NODE_TYPES.TSAsExpression ||
33
- current?.type === utils_1.AST_NODE_TYPES.TSInstantiationExpression ||
34
- current?.type === utils_1.AST_NODE_TYPES.TSNonNullExpression ||
35
- current?.type === utils_1.AST_NODE_TYPES.TSSatisfiesExpression ||
36
- current?.type === utils_1.AST_NODE_TYPES.TSTypeAssertion) {
37
- current = current.expression;
38
- }
39
- return current;
40
- }
41
- function propertyName(node) {
42
- const property = node.type === utils_1.AST_NODE_TYPES.MemberExpression ? node.property : node.key;
43
- const computed = node.computed;
44
- if (!computed && property.type === utils_1.AST_NODE_TYPES.Identifier) {
45
- return property.name;
46
- }
47
- if (computed && property.type === utils_1.AST_NODE_TYPES.Literal && typeof property.value === "string") {
48
- return property.value;
49
- }
50
- return undefined;
51
- }
52
- function isExpression(node) {
53
- return (node !== null &&
54
- node !== undefined &&
55
- node.type !== utils_1.AST_NODE_TYPES.SpreadElement &&
56
- node.type !== utils_1.AST_NODE_TYPES.JSXElement &&
57
- node.type !== utils_1.AST_NODE_TYPES.JSXFragment);
58
- }
59
- function rootIdentifier(node) {
60
- let current = unwrap(node);
61
- while (current?.type === utils_1.AST_NODE_TYPES.MemberExpression) {
62
- current = unwrap(current.object);
63
- }
64
- return current?.type === utils_1.AST_NODE_TYPES.Identifier ? current : undefined;
65
- }
66
- function objectProperty(object, name) {
67
- return object.properties.find((entry) => entry.type === utils_1.AST_NODE_TYPES.Property && propertyName(entry) === name);
68
- }
69
- function isRouteFulfillCall(node, allowAnyReceiver) {
70
- return (node.callee.type === utils_1.AST_NODE_TYPES.MemberExpression &&
71
- propertyName(node.callee) === "fulfill" &&
72
- node.callee.object.type === utils_1.AST_NODE_TYPES.Identifier &&
73
- (allowAnyReceiver || /route$/iu.test(node.callee.object.name)));
74
- }
75
- function isFixtureValue(name, node) {
76
- const current = unwrap(node);
77
- return (MOCK_NAME_PATTERN.test(name) ||
78
- current?.type === utils_1.AST_NODE_TYPES.ArrayExpression ||
79
- current?.type === utils_1.AST_NODE_TYPES.ObjectExpression);
80
- }
81
- function importName(specifier) {
82
- if (specifier.type === utils_1.AST_NODE_TYPES.ImportSpecifier) {
83
- return specifier.imported.type === utils_1.AST_NODE_TYPES.Identifier
84
- ? specifier.imported.name
85
- : specifier.imported.value;
86
- }
87
- return specifier.type === utils_1.AST_NODE_TYPES.ImportNamespaceSpecifier ? "*" : "default";
88
- }
89
- const rule = (0, createRule_1.createRule)({
90
- name: "require-contract-fixture-construction",
91
- defaultOptions: [],
92
- meta: {
93
- type: "problem",
94
- docs: {
95
- description: "Require response fixtures to be constructed by producer-owned contracts",
96
- },
97
- schema: [],
98
- messages: {
99
- parseMock: "Construct exported response fixtures with a producer-owned contract response schema.",
100
- parsePayload: "Construct JSON response fixtures with a producer-owned contract response schema before passing them to the test transport.",
101
- },
102
- },
103
- create(context) {
104
- const filename = context.filename.replaceAll("\\", "/");
105
- const isMocksFile = MOCKS_FILE_PATTERN.test(filename);
106
- const isPlaywrightFile = filename.includes("/playwright/");
107
- const isTestUtilsFile = /\/(?:testUtils|test-utils)\//u.test(filename);
108
- const contractImports = new Map();
109
- const fixtureBuilderFactoryImports = new Set();
110
- const oneShotBuilderImports = new Set();
111
- const httpResponseImports = new Set();
112
- const trustedFixtureImports = new Set();
113
- const variableInitializers = new Map();
114
- const fixtureBuilders = new Set();
115
- const mutations = new Map();
116
- const aliasTargets = new Map();
117
- const candidates = [];
118
- const directFixtureCandidates = [];
119
- const functionReturns = new Map();
120
- const functionStack = [];
121
- const exportedFunctions = new Set();
122
- const indirectExports = [];
123
- function variableFor(identifier) {
124
- return (utils_1.ASTUtils.findVariable(context.sourceCode.getScope(identifier), identifier) ?? undefined);
125
- }
126
- function declaredVariable(node) {
127
- return context.sourceCode.getDeclaredVariables(node)[0];
128
- }
129
- function recordMutation(node, position) {
130
- const identifier = rootIdentifier(node);
131
- if (!identifier) {
132
- return;
133
- }
134
- const variable = variableFor(identifier);
135
- if (!variable) {
136
- return;
137
- }
138
- const positions = mutations.get(variable) ?? [];
139
- positions.push(position);
140
- mutations.set(variable, positions);
141
- }
142
- function wasMutated(variable, observationPosition) {
143
- return mutations.get(variable)?.some((position) => position < observationPosition) === true;
144
- }
145
- function isContractRoot(identifier) {
146
- const variable = variableFor(identifier);
147
- return variable !== undefined && contractImports.has(variable);
148
- }
149
- function isContractResponseSchema(node, seen = new Set()) {
150
- const current = unwrap(node);
151
- if (!current) {
152
- return false;
153
- }
154
- if (current.type === utils_1.AST_NODE_TYPES.Identifier) {
155
- const variable = variableFor(current);
156
- if (!variable) {
157
- return false;
158
- }
159
- const importedName = contractImports.get(variable);
160
- if (importedName !== undefined) {
161
- return importedName.endsWith("ResponseSchema");
162
- }
163
- if (seen.has(variable)) {
164
- return false;
165
- }
166
- seen.add(variable);
167
- return isContractResponseSchema(variableInitializers.get(variable), seen);
168
- }
169
- if (current.type !== utils_1.AST_NODE_TYPES.MemberExpression) {
170
- return false;
171
- }
172
- const selectedFromResponses = current.computed &&
173
- current.object.type === utils_1.AST_NODE_TYPES.MemberExpression &&
174
- propertyName(current.object) === "responses";
175
- if (selectedFromResponses) {
176
- const root = rootIdentifier(current);
177
- return root !== undefined && isContractRoot(root);
178
- }
179
- const selectedNamedSchema = propertyName(current)?.endsWith("ResponseSchema") === true;
180
- if (selectedNamedSchema) {
181
- const root = rootIdentifier(current);
182
- return root !== undefined && isContractRoot(root);
183
- }
184
- return false;
185
- }
186
- function hasContractSchemaOption(call) {
187
- const [options] = call.arguments;
188
- const current = unwrap(options);
189
- if (current?.type !== utils_1.AST_NODE_TYPES.ObjectExpression) {
190
- return false;
191
- }
192
- const schema = objectProperty(current, "schema");
193
- return (schema !== undefined && isExpression(schema.value) && isContractResponseSchema(schema.value));
194
- }
195
- function isOneShotBuilderCall(node) {
196
- const current = unwrap(node);
197
- if (current?.type !== utils_1.AST_NODE_TYPES.CallExpression ||
198
- current.callee.type !== utils_1.AST_NODE_TYPES.Identifier) {
199
- return false;
200
- }
201
- const variable = variableFor(current.callee);
202
- return (variable !== undefined &&
203
- oneShotBuilderImports.has(variable) &&
204
- hasContractSchemaOption(current));
205
- }
206
- function isFixtureBuilderFactoryCall(node) {
207
- const current = unwrap(node);
208
- if (current?.type !== utils_1.AST_NODE_TYPES.CallExpression ||
209
- current.callee.type !== utils_1.AST_NODE_TYPES.Identifier) {
210
- return false;
211
- }
212
- const variable = variableFor(current.callee);
213
- return (variable !== undefined &&
214
- fixtureBuilderFactoryImports.has(variable) &&
215
- hasContractSchemaOption(current));
216
- }
217
- function isContractParseCall(node) {
218
- const current = unwrap(node);
219
- return (current?.type === utils_1.AST_NODE_TYPES.CallExpression &&
220
- current.callee.type === utils_1.AST_NODE_TYPES.MemberExpression &&
221
- propertyName(current.callee) === "parse" &&
222
- isContractResponseSchema(current.callee.object));
223
- }
224
- function isContractConstructed(node, observationPosition, seen = new Set()) {
225
- const current = unwrap(node);
226
- if (!current) {
227
- return false;
228
- }
229
- if (isContractParseCall(current) || isOneShotBuilderCall(current)) {
230
- return true;
231
- }
232
- if (current.type === utils_1.AST_NODE_TYPES.CallExpression &&
233
- current.callee.type === utils_1.AST_NODE_TYPES.Identifier) {
234
- const variable = variableFor(current.callee);
235
- if (variable !== undefined && fixtureBuilders.has(variable)) {
236
- return true;
237
- }
238
- }
239
- if (current.type !== utils_1.AST_NODE_TYPES.Identifier) {
240
- return false;
241
- }
242
- const variable = variableFor(current);
243
- if (!variable || seen.has(variable) || wasMutated(variable, observationPosition)) {
244
- return false;
245
- }
246
- if (trustedFixtureImports.has(variable)) {
247
- return true;
248
- }
249
- const initializer = variableInitializers.get(variable);
250
- if (!initializer) {
251
- return false;
252
- }
253
- seen.add(variable);
254
- return isContractConstructed(initializer, observationPosition, seen);
255
- }
256
- function resolveObject(node, observationPosition, seen = new Set()) {
257
- const current = unwrap(node);
258
- if (current?.type === utils_1.AST_NODE_TYPES.ObjectExpression) {
259
- return current;
260
- }
261
- if (current?.type !== utils_1.AST_NODE_TYPES.Identifier) {
262
- return undefined;
263
- }
264
- const variable = variableFor(current);
265
- if (!variable || seen.has(variable) || wasMutated(variable, observationPosition)) {
266
- return undefined;
267
- }
268
- const initializer = variableInitializers.get(variable);
269
- if (!initializer) {
270
- return undefined;
271
- }
272
- seen.add(variable);
273
- return resolveObject(initializer, observationPosition, seen);
274
- }
275
- function jsonStringifyPayload(node, seen = new Set()) {
276
- const current = unwrap(node);
277
- if (current?.type === utils_1.AST_NODE_TYPES.CallExpression &&
278
- current.callee.type === utils_1.AST_NODE_TYPES.MemberExpression &&
279
- current.callee.object.type === utils_1.AST_NODE_TYPES.Identifier &&
280
- current.callee.object.name === "JSON" &&
281
- propertyName(current.callee) === "stringify") {
282
- const [payload] = current.arguments;
283
- return isExpression(payload) ? payload : undefined;
284
- }
285
- if (current?.type !== utils_1.AST_NODE_TYPES.Identifier) {
286
- return undefined;
287
- }
288
- const variable = variableFor(current);
289
- if (!variable || seen.has(variable)) {
290
- return undefined;
291
- }
292
- seen.add(variable);
293
- return jsonStringifyPayload(variableInitializers.get(variable), seen);
294
- }
295
- function playwrightPayloads(node, observationPosition, seen = new Set()) {
296
- const options = resolveObject(node, observationPosition, seen);
297
- if (!options) {
298
- return isExpression(unwrap(node)) ? { unknown: unwrap(node) } : {};
299
- }
300
- const payloads = {};
301
- for (const entry of options.properties) {
302
- if (entry.type === utils_1.AST_NODE_TYPES.SpreadElement) {
303
- const spread = playwrightPayloads(entry.argument, observationPosition, new Set(seen));
304
- if (spread.unknown) {
305
- return { unknown: spread.unknown };
306
- }
307
- if (spread.body !== undefined) {
308
- payloads.body = spread.body;
309
- }
310
- if (spread.json !== undefined) {
311
- payloads.json = spread.json;
312
- }
313
- continue;
314
- }
315
- const name = propertyName(entry);
316
- if (name === undefined && entry.computed && isExpression(entry.value)) {
317
- return { unknown: entry.value };
318
- }
319
- if (!isExpression(entry.value)) {
320
- continue;
321
- }
322
- if (name === "json") {
323
- payloads.json = entry.value;
324
- }
325
- else if (name === "body") {
326
- const serialized = jsonStringifyPayload(entry.value);
327
- if (serialized) {
328
- payloads.body = serialized;
329
- }
330
- }
331
- }
332
- return payloads;
333
- }
334
- function isMswJsonCall(node) {
335
- if (node.callee.type !== utils_1.AST_NODE_TYPES.MemberExpression ||
336
- propertyName(node.callee) !== "json" ||
337
- node.callee.object.type !== utils_1.AST_NODE_TYPES.Identifier) {
338
- return false;
339
- }
340
- if (node.callee.object.name === "ctx" || node.callee.object.name === "context") {
341
- return true;
342
- }
343
- const variable = variableFor(node.callee.object);
344
- return variable !== undefined && httpResponseImports.has(variable);
345
- }
346
- function addCandidate(node, observationPosition) {
347
- if (isExpression(node)) {
348
- candidates.push({ node, observationPosition });
349
- }
350
- }
351
- function addDirectFixture(node) {
352
- if (isExpression(node)) {
353
- directFixtureCandidates.push({
354
- node,
355
- observationPosition: Number.MAX_SAFE_INTEGER,
356
- });
357
- }
358
- }
359
- function registerBuilderVariables() {
360
- let changed = true;
361
- while (changed) {
362
- changed = false;
363
- for (const [variable, initializer] of variableInitializers) {
364
- if (!fixtureBuilders.has(variable) && isFixtureBuilderFactoryCall(initializer)) {
365
- fixtureBuilders.add(variable);
366
- changed = true;
367
- }
368
- }
369
- }
370
- }
371
- function propagateAliasMutations() {
372
- let changed = true;
373
- while (changed) {
374
- changed = false;
375
- for (const [alias, target] of aliasTargets) {
376
- const aliasMutations = mutations.get(alias) ?? [];
377
- const targetMutations = mutations.get(target) ?? [];
378
- for (const position of aliasMutations) {
379
- if (!targetMutations.includes(position)) {
380
- targetMutations.push(position);
381
- changed = true;
382
- }
383
- }
384
- if (targetMutations.length > 0) {
385
- mutations.set(target, targetMutations);
386
- }
387
- }
388
- }
389
- }
390
- function reportDirectFixtures() {
391
- for (const candidate of directFixtureCandidates) {
392
- if (!isContractConstructed(candidate.node, candidate.observationPosition)) {
393
- context.report({ node: candidate.node, messageId: "parseMock" });
394
- }
395
- }
396
- }
397
- function reportExportedFunctions() {
398
- for (const functionNode of exportedFunctions) {
399
- for (const returnValue of functionReturns.get(functionNode) ?? []) {
400
- if (!isContractConstructed(returnValue, returnValue.range[0])) {
401
- context.report({ node: returnValue, messageId: "parseMock" });
402
- }
403
- }
404
- }
405
- }
406
- function reportIndirectExports() {
407
- for (const { exportedName, local } of indirectExports) {
408
- const variable = variableFor(local);
409
- if (!variable) {
410
- continue;
411
- }
412
- const initializer = variableInitializers.get(variable);
413
- const current = unwrap(initializer);
414
- if (current?.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression ||
415
- current?.type === utils_1.AST_NODE_TYPES.FunctionExpression) {
416
- for (const returnValue of functionReturns.get(current) ?? []) {
417
- if (!isContractConstructed(returnValue, returnValue.range[0])) {
418
- context.report({ node: returnValue, messageId: "parseMock" });
419
- }
420
- }
421
- }
422
- else if (isFixtureValue(exportedName, initializer) &&
423
- !isContractConstructed(local, Number.MAX_SAFE_INTEGER)) {
424
- context.report({ node: initializer ?? local, messageId: "parseMock" });
425
- }
426
- }
427
- }
428
- function reportTransportCandidates() {
429
- for (const candidate of candidates) {
430
- if (!isContractConstructed(candidate.node, candidate.observationPosition)) {
431
- context.report({ node: candidate.node, messageId: "parsePayload" });
432
- }
433
- }
434
- }
435
- return {
436
- ImportDeclaration(node) {
437
- const source = node.source.value;
438
- for (const specifier of node.specifiers) {
439
- const variable = declaredVariable(specifier);
440
- if (!variable) {
441
- continue;
442
- }
443
- const importedName = importName(specifier);
444
- if (source.startsWith(CONTRACT_PACKAGE_PREFIX)) {
445
- contractImports.set(variable, importedName);
446
- }
447
- if ((source === "@clipboard-health/testing-core" ||
448
- /(?:^|\/)test(?:Utils|-utils)\/createContractFixtureBuilder$/u.test(source)) &&
449
- importedName === "createContractFixtureBuilder") {
450
- fixtureBuilderFactoryImports.add(variable);
451
- }
452
- if ((source === "@clipboard-health/testing-core" ||
453
- /(?:^|\/)test(?:Utils|-utils)\/buildContractFixture$/u.test(source)) &&
454
- importedName === "buildContractFixture") {
455
- oneShotBuilderImports.add(variable);
456
- }
457
- if (source === "msw" && importedName === "HttpResponse") {
458
- httpResponseImports.add(variable);
459
- }
460
- if (/(?:^|\/)test(?:Utils|-utils)\/mocks$/u.test(source) ||
461
- (isTestUtilsFile && /^\.\/mocks$/u.test(source))) {
462
- trustedFixtureImports.add(variable);
463
- }
464
- }
465
- },
466
- VariableDeclarator(node) {
467
- if (!isExpression(node.init)) {
468
- return;
469
- }
470
- if (node.id.type !== utils_1.AST_NODE_TYPES.Identifier) {
471
- const aliasIdentifier = rootIdentifier(node.init);
472
- const target = aliasIdentifier ? variableFor(aliasIdentifier) : undefined;
473
- if (target) {
474
- for (const variable of context.sourceCode.getDeclaredVariables(node)) {
475
- aliasTargets.set(variable, target);
476
- }
477
- }
478
- return;
479
- }
480
- const variable = declaredVariable(node);
481
- if (!variable) {
482
- return;
483
- }
484
- variableInitializers.set(variable, node.init);
485
- const aliasIdentifier = rootIdentifier(node.init);
486
- const target = aliasIdentifier ? variableFor(aliasIdentifier) : undefined;
487
- if (target && target !== variable) {
488
- aliasTargets.set(variable, target);
489
- }
490
- },
491
- FunctionDeclaration(node) {
492
- functionReturns.set(node, []);
493
- functionStack.push(node);
494
- if (node.parent.type === utils_1.AST_NODE_TYPES.ExportNamedDeclaration && isMocksFile) {
495
- exportedFunctions.add(node);
496
- }
497
- },
498
- "FunctionDeclaration:exit"() {
499
- functionStack.pop();
500
- },
501
- FunctionExpression(node) {
502
- functionReturns.set(node, []);
503
- functionStack.push(node);
504
- },
505
- "FunctionExpression:exit"() {
506
- functionStack.pop();
507
- },
508
- ArrowFunctionExpression(node) {
509
- functionReturns.set(node, node.body.type === utils_1.AST_NODE_TYPES.BlockStatement ? [] : [node.body]);
510
- functionStack.push(node);
511
- },
512
- "ArrowFunctionExpression:exit"() {
513
- functionStack.pop();
514
- },
515
- ReturnStatement(node) {
516
- const current = functionStack.at(-1);
517
- if (current && isExpression(node.argument)) {
518
- functionReturns.get(current)?.push(node.argument);
519
- }
520
- },
521
- ExportNamedDeclaration(node) {
522
- if (!isMocksFile) {
523
- return;
524
- }
525
- for (const specifier of node.specifiers) {
526
- if (specifier.type === utils_1.AST_NODE_TYPES.ExportSpecifier &&
527
- specifier.local.type === utils_1.AST_NODE_TYPES.Identifier) {
528
- indirectExports.push({
529
- exportedName: specifier.exported.type === utils_1.AST_NODE_TYPES.Identifier
530
- ? specifier.exported.name
531
- : specifier.exported.value,
532
- local: specifier.local,
533
- });
534
- }
535
- }
536
- if (node.declaration?.type !== utils_1.AST_NODE_TYPES.VariableDeclaration) {
537
- return;
538
- }
539
- for (const declaration of node.declaration.declarations) {
540
- if (declaration.id.type !== utils_1.AST_NODE_TYPES.Identifier ||
541
- !isExpression(declaration.init)) {
542
- addDirectFixture(declaration.init);
543
- continue;
544
- }
545
- const initializer = unwrap(declaration.init);
546
- if (initializer?.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression ||
547
- initializer?.type === utils_1.AST_NODE_TYPES.FunctionExpression) {
548
- exportedFunctions.add(initializer);
549
- }
550
- else if (isFixtureValue(declaration.id.name, declaration.init)) {
551
- addDirectFixture(declaration.id);
552
- }
553
- }
554
- },
555
- ExportDefaultDeclaration(node) {
556
- if (!isMocksFile) {
557
- return;
558
- }
559
- if (node.declaration.type === utils_1.AST_NODE_TYPES.Identifier) {
560
- indirectExports.push({ exportedName: node.declaration.name, local: node.declaration });
561
- }
562
- else if (isExpression(node.declaration)) {
563
- const current = unwrap(node.declaration);
564
- if (current?.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression ||
565
- current?.type === utils_1.AST_NODE_TYPES.FunctionExpression) {
566
- exportedFunctions.add(current);
567
- }
568
- else {
569
- addDirectFixture(node.declaration);
570
- }
571
- }
572
- },
573
- AssignmentExpression(node) {
574
- recordMutation(node.left, node.range[0]);
575
- },
576
- UpdateExpression(node) {
577
- recordMutation(node.argument, node.range[0]);
578
- },
579
- UnaryExpression(node) {
580
- if (node.operator === "delete") {
581
- recordMutation(node.argument, node.range[0]);
582
- }
583
- },
584
- CallExpression(node) {
585
- if (isMswJsonCall(node)) {
586
- addCandidate(node.arguments[0], node.range[0]);
587
- }
588
- if (isRouteFulfillCall(node, isPlaywrightFile)) {
589
- const payloads = playwrightPayloads(node.arguments[0], node.range[0]);
590
- addCandidate(payloads.unknown ?? payloads.json ?? payloads.body, node.range[0]);
591
- }
592
- if (node.callee.type === utils_1.AST_NODE_TYPES.MemberExpression) {
593
- const method = propertyName(node.callee);
594
- if (node.callee.object.type === utils_1.AST_NODE_TYPES.Identifier &&
595
- node.callee.object.name === "Object" &&
596
- OBJECT_MUTATOR_NAMES.has(method ?? "")) {
597
- recordMutation(node.arguments[0], node.range[0]);
598
- }
599
- else if (MUTATING_METHOD_NAMES.has(method ?? "")) {
600
- recordMutation(node.callee.object, node.range[0]);
601
- }
602
- }
603
- },
604
- "Program:exit"() {
605
- registerBuilderVariables();
606
- propagateAliasMutations();
607
- reportDirectFixtures();
608
- reportExportedFunctions();
609
- reportIndirectExports();
610
- reportTransportCandidates();
611
- },
612
- };
613
- },
614
- });
615
- exports.default = rule;
3
+ const oxlint_plugin_1 = require("@clipboard-health/oxlint-plugin");
4
+ exports.default = oxlint_plugin_1.rules["require-contract-fixture-construction"];
616
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/eslint-plugin/src/lib/rules/require-contract-fixture-construction/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/eslint-plugin/src/lib/rules/require-contract-fixture-construction/index.ts"],"names":[],"mappings":";;AAAA,mEAAwD;kBAEzC,qBAAK,CAAC,uCAAuC,CAAC"}