@medusajs/eslint-plugin 2.18.0 → 2.19.0-preview-20260811102316

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.
@@ -1 +1 @@
1
- {"version":3,"file":"recommended.d.ts","sourceRoot":"","sources":["../../src/configs/recommended.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAIpC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAoMjE"}
1
+ {"version":3,"file":"recommended.d.ts","sourceRoot":"","sources":["../../src/configs/recommended.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAIpC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAqMjE"}
@@ -183,6 +183,7 @@ function buildRecommended(plugin) {
183
183
  [(0, constants_1.ruleId)("subscriber-config-export-required")]: "error",
184
184
  [(0, constants_1.ruleId)("subscriber-default-export-must-be-async")]: "error",
185
185
  [(0, constants_1.ruleId)("subscriber-default-export-required")]: "error",
186
+ [(0, constants_1.ruleId)("prefer-workflow-event-over-module-event")]: "warn",
186
187
  },
187
188
  },
188
189
  {
@@ -1 +1 @@
1
- {"version":3,"file":"recommended.js","sourceRoot":"","sources":["../../src/configs/recommended.ts"],"names":[],"mappings":";;AAIA,4CAoMC;AAvMD,4CAAqC;AACrC,qCAAmE;AAEnE,SAAgB,gBAAgB,CAAC,MAAe;IAC9C,OAAO;QACL,qBAAY;QACZ,IAAA,oBAAW,EAAC,MAAM,CAAC;QACnB,yEAAyE;QACzE,uEAAuE;QACvE,wDAAwD;QACxD,IAAA,sBAAa,GAAE;QACf;YACE,KAAK,EAAE,CAAC,cAAc,CAAC;YACvB,OAAO,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC;YAC5C,KAAK,EAAE;gBACL,CAAC,IAAA,kBAAM,EAAC,+BAA+B,CAAC,CAAC,EAAE,OAAO;gBAClD,CAAC,IAAA,kBAAM,EAAC,wCAAwC,CAAC,CAAC,EAAE,OAAO;gBAC3D,CAAC,IAAA,kBAAM,EAAC,4BAA4B,CAAC,CAAC,EAAE,MAAM;gBAC9C,CAAC,IAAA,kBAAM,EAAC,yCAAyC,CAAC,CAAC,EAAE,OAAO;gBAC5D,CAAC,IAAA,kBAAM,EAAC,kCAAkC,CAAC,CAAC,EAAE,OAAO;gBACrD,CAAC,IAAA,kBAAM,EAAC,+BAA+B,CAAC,CAAC,EAAE,OAAO;gBAClD,CAAC,IAAA,kBAAM,EAAC,sBAAsB,CAAC,CAAC,EAAE,OAAO;gBACzC,CAAC,IAAA,kBAAM,EAAC,yBAAyB,CAAC,CAAC,EAAE,OAAO;gBAC5C,CAAC,IAAA,kBAAM,EAAC,uBAAuB,CAAC,CAAC,EAAE,OAAO;gBAC1C,CAAC,IAAA,kBAAM,EAAC,uBAAuB,CAAC,CAAC,EAAE,OAAO;gBAC1C,CAAC,IAAA,kBAAM,EAAC,0BAA0B,CAAC,CAAC,EAAE,OAAO;gBAC7C,CAAC,IAAA,kBAAM,EAAC,kCAAkC,CAAC,CAAC,EAAE,MAAM;gBACpD,CAAC,IAAA,kBAAM,EAAC,oCAAoC,CAAC,CAAC,EAAE,MAAM;gBACtD,CAAC,IAAA,kBAAM,EAAC,2BAA2B,CAAC,CAAC,EAAE,MAAM;gBAC7C,CAAC,IAAA,kBAAM,EAAC,oCAAoC,CAAC,CAAC,EAAE,MAAM;gBACtD,CAAC,IAAA,kBAAM,EAAC,+BAA+B,CAAC,CAAC,EAAE,MAAM;gBACjD,CAAC,IAAA,kBAAM,EAAC,oCAAoC,CAAC,CAAC,EAAE,MAAM;gBACtD,CAAC,IAAA,kBAAM,EAAC,8BAA8B,CAAC,CAAC,EAAE,MAAM;gBAChD,CAAC,IAAA,kBAAM,EAAC,qBAAqB,CAAC,CAAC,EAAE,MAAM;gBACvC,CAAC,IAAA,kBAAM,EAAC,uBAAuB,CAAC,CAAC,EAAE,MAAM;gBACzC,CAAC,IAAA,kBAAM,EAAC,oBAAoB,CAAC,CAAC,EAAE,MAAM;gBACtC,CAAC,IAAA,kBAAM,EAAC,gCAAgC,CAAC,CAAC,EAAE,OAAO;gBACnD,CAAC,IAAA,kBAAM,EAAC,wCAAwC,CAAC,CAAC,EAAE,MAAM;gBAC1D,CAAC,IAAA,kBAAM,EAAC,wCAAwC,CAAC,CAAC,EAAE,OAAO;gBAC3D,CAAC,IAAA,kBAAM,EAAC,mBAAmB,CAAC,CAAC,EAAE,MAAM;aACtC;SACF;QACD;YACE,KAAK,EAAE,CAAC,uBAAuB,EAAE,sBAAsB,CAAC;YACxD,KAAK,EAAE;gBACL,CAAC,IAAA,kBAAM,EAAC,iCAAiC,CAAC,CAAC,EAAE,OAAO;gBACpD,CAAC,IAAA,kBAAM,EAAC,mCAAmC,CAAC,CAAC,EAAE,MAAM;gBACrD,CAAC,IAAA,kBAAM,EAAC,mCAAmC,CAAC,CAAC,EAAE,MAAM;gBACrD,CAAC,IAAA,kBAAM,EAAC,mBAAmB,CAAC,CAAC,EAAE,OAAO;gBACtC,CAAC,IAAA,kBAAM,EAAC,iCAAiC,CAAC,CAAC,EAAE,OAAO;gBACpD,CAAC,IAAA,kBAAM,EAAC,8BAA8B,CAAC,CAAC,EAAE,OAAO;aAClD;SACF;QACD;YACE,KAAK,EAAE;gBACL,uBAAuB;gBACvB,sBAAsB;gBACtB,gCAAgC;gBAChC,+BAA+B;aAChC;YACD,KAAK,EAAE;gBACL,CAAC,IAAA,kBAAM,EAAC,6BAA6B,CAAC,CAAC,EAAE,OAAO;aACjD;SACF;QACD;YACE,KAAK,EAAE,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;YAC1D,KAAK,EAAE;gBACL,CAAC,IAAA,kBAAM,EAAC,2BAA2B,CAAC,CAAC,EAAE,MAAM;gBAC7C,CAAC,IAAA,kBAAM,EAAC,oCAAoC,CAAC,CAAC,EAAE,OAAO;gBACvD,CAAC,IAAA,kBAAM,EAAC,oCAAoC,CAAC,CAAC,EAAE,MAAM;aACvD;SACF;QACD;YACE,KAAK,EAAE,CAAC,2BAA2B,EAAE,0BAA0B,CAAC;YAChE,KAAK,EAAE;gBACL,CAAC,IAAA,kBAAM,EAAC,iCAAiC,CAAC,CAAC,EAAE,MAAM;gBACnD,CAAC,IAAA,kBAAM,EAAC,qCAAqC,CAAC,CAAC,EAAE,OAAO;gBACxD,CAAC,IAAA,kBAAM,EAAC,+BAA+B,CAAC,CAAC,EAAE,OAAO;gBAClD,CAAC,IAAA,kBAAM,EAAC,sCAAsC,CAAC,CAAC,EAAE,MAAM;aACzD;SACF;QACD;YACE,KAAK,EAAE,CAAC,8BAA8B,EAAE,6BAA6B,CAAC;YACtE,KAAK,EAAE;gBACL,CAAC,IAAA,kBAAM,EAAC,wBAAwB,CAAC,CAAC,EAAE,OAAO;aAC5C;SACF;QACD;YACE,KAAK,EAAE;gBACL,iDAAiD;gBACjD,gDAAgD;aACjD;YACD,KAAK,EAAE;gBACL,CAAC,IAAA,kBAAM,EAAC,8CAA8C,CAAC,CAAC,EAAE,MAAM;aACjE;SACF;QACD;YACE,KAAK,EAAE;gBACL,oCAAoC;gBACpC,mCAAmC;aACpC;YACD,KAAK,EAAE;gBACL,CAAC,IAAA,kBAAM,EAAC,kCAAkC,CAAC,CAAC,EAAE,MAAM;gBACpD,CAAC,IAAA,kBAAM,EAAC,mCAAmC,CAAC,CAAC,EAAE,OAAO;gBACtD,CAAC,IAAA,kBAAM,EAAC,yCAAyC,CAAC,CAAC,EAAE,OAAO;gBAC5D,CAAC,IAAA,kBAAM,EAAC,sBAAsB,CAAC,CAAC,EAAE,MAAM;aACzC;SACF;QACD;YACE,0EAA0E;YAC1E,yEAAyE;YACzE,0CAA0C;YAC1C,KAAK,EAAE;gBACL,gCAAgC;gBAChC,mCAAmC;aACpC;YACD,KAAK,EAAE;gBACL,CAAC,IAAA,kBAAM,EAAC,4BAA4B,CAAC,CAAC,EAAE,MAAM;gBAC9C,CAAC,IAAA,kBAAM,EAAC,8BAA8B,CAAC,CAAC,EAAE,OAAO;aAClD;SACF;QACD;YACE,KAAK,EAAE;gBACL,kCAAkC;gBAClC,iCAAiC;gBACjC,oCAAoC;gBACpC,mCAAmC;aACpC;YACD,KAAK,EAAE;gBACL,CAAC,IAAA,kBAAM,EAAC,wCAAwC,CAAC,CAAC,EAAE,OAAO;gBAC3D,CAAC,IAAA,kBAAM,EAAC,oCAAoC,CAAC,CAAC,EAAE,OAAO;aACxD;SACF;QACD;YACE,KAAK,EAAE;gBACL,kCAAkC;gBAClC,iCAAiC;aAClC;YACD,KAAK,EAAE;gBACL,CAAC,IAAA,kBAAM,EAAC,2BAA2B,CAAC,CAAC,EAAE,OAAO;gBAC9C,CAAC,IAAA,kBAAM,EAAC,iCAAiC,CAAC,CAAC,EAAE,OAAO;aACrD;SACF;QACD;YACE,KAAK,EAAE;gBACL,iCAAiC;gBACjC,gCAAgC;aACjC;YACD,KAAK,EAAE;gBACL,CAAC,IAAA,kBAAM,EAAC,6BAA6B,CAAC,CAAC,EAAE,OAAO;aACjD;SACF;QACD;YACE,KAAK,EAAE;gBACL,oCAAoC;gBACpC,mCAAmC;aACpC;YACD,KAAK,EAAE;gBACL,CAAC,IAAA,kBAAM,EAAC,+BAA+B,CAAC,CAAC,EAAE,MAAM;gBACjD,CAAC,IAAA,kBAAM,EAAC,yCAAyC,CAAC,CAAC,EAAE,MAAM;gBAC3D,CAAC,IAAA,kBAAM,EAAC,mCAAmC,CAAC,CAAC,EAAE,OAAO;aACvD;SACF;QACD;YACE,KAAK,EAAE;gBACL,oCAAoC;gBACpC,uCAAuC;aACxC;YACD,KAAK,EAAE;gBACL,CAAC,IAAA,kBAAM,EAAC,+BAA+B,CAAC,CAAC,EAAE,MAAM;gBACjD,CAAC,IAAA,kBAAM,EAAC,+BAA+B,CAAC,CAAC,EAAE,OAAO;aACnD;SACF;QACD;YACE,wEAAwE;YACxE,gEAAgE;YAChE,wEAAwE;YACxE,8BAA8B;YAC9B,KAAK,EAAE,CAAC,2BAA2B,EAAE,8BAA8B,CAAC;YACpE,KAAK,EAAE;gBACL,CAAC,IAAA,kBAAM,EAAC,mCAAmC,CAAC,CAAC,EAAE,OAAO;gBACtD,CAAC,IAAA,kBAAM,EAAC,yCAAyC,CAAC,CAAC,EAAE,OAAO;gBAC5D,CAAC,IAAA,kBAAM,EAAC,oCAAoC,CAAC,CAAC,EAAE,OAAO;aACxD;SACF;QACD;YACE,yEAAyE;YACzE,0EAA0E;YAC1E,uEAAuE;YACvE,SAAS;YACT,KAAK,EAAE,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;YACtD,KAAK,EAAE;gBACL,CAAC,IAAA,kBAAM,EAAC,+BAA+B,CAAC,CAAC,EAAE,OAAO;gBAClD,CAAC,IAAA,kBAAM,EAAC,oCAAoC,CAAC,CAAC,EAAE,OAAO;gBACvD,CAAC,IAAA,kBAAM,EAAC,uCAAuC,CAAC,CAAC,EAAE,OAAO;gBAC1D,CAAC,IAAA,kBAAM,EAAC,mCAAmC,CAAC,CAAC,EAAE,OAAO;aACvD;SACF;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"recommended.js","sourceRoot":"","sources":["../../src/configs/recommended.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAsEpC,eAAO,MAAM,KAAK,EAsEF,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAuEpC,eAAO,MAAM,KAAK,EAuEF,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA"}
@@ -53,6 +53,7 @@ const no_workflow_call_without_container_1 = require("./no-workflow-call-without
53
53
  const prefer_container_registration_keys_1 = require("./prefer-container-registration-keys");
54
54
  const prefer_link_over_remote_link_1 = require("./prefer-link-over-remote-link");
55
55
  const prefer_modules_enum_1 = require("./prefer-modules-enum");
56
+ const prefer_workflow_event_over_module_event_1 = require("./prefer-workflow-event-over-module-event");
56
57
  const prices_in_major_units_1 = require("./prices-in-major-units");
57
58
  const primary_key_required_1 = require("./primary-key-required");
58
59
  const step_id_kebab_case_1 = require("./step-id-kebab-case");
@@ -122,6 +123,7 @@ exports.rules = {
122
123
  "prefer-container-registration-keys": prefer_container_registration_keys_1.rule,
123
124
  "prefer-link-over-remote-link": prefer_link_over_remote_link_1.rule,
124
125
  "prefer-modules-enum": prefer_modules_enum_1.rule,
126
+ "prefer-workflow-event-over-module-event": prefer_workflow_event_over_module_event_1.rule,
125
127
  "prices-in-major-units": prices_in_major_units_1.rule,
126
128
  "primary-key-required": primary_key_required_1.rule,
127
129
  "step-id-kebab-case": step_id_kebab_case_1.rule,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { rule } from "./rule";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/prefer-workflow-event-over-module-event/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rule = void 0;
4
+ var rule_1 = require("./rule");
5
+ Object.defineProperty(exports, "rule", { enumerable: true, get: function () { return rule_1.rule; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/prefer-workflow-event-over-module-event/index.ts"],"names":[],"mappings":";;;AAAA,+BAA6B;AAApB,4FAAA,IAAI,OAAA"}
@@ -0,0 +1,7 @@
1
+ import { TSESLint } from "@typescript-eslint/utils";
2
+ type MessageIds = "preferWorkflowEvent" | "internalModuleEvent";
3
+ export declare const rule: TSESLint.RuleModule<MessageIds, [], import("../../create-rule").MedusaRuleDocs, TSESLint.RuleListener> & {
4
+ name: string;
5
+ };
6
+ export default rule;
7
+ //# sourceMappingURL=rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../src/rules/prefer-workflow-event-over-module-event/rule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,QAAQ,EAAY,MAAM,0BAA0B,CAAA;AAS7E,KAAK,UAAU,GAAG,qBAAqB,GAAG,qBAAqB,CAAA;AAI/D,eAAO,MAAM,IAAI;;CAwNf,CAAA;AAEF,eAAe,IAAI,CAAA"}
@@ -0,0 +1,278 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rule = void 0;
4
+ const utils_1 = require("@typescript-eslint/utils");
5
+ const create_rule_1 = require("../../create-rule");
6
+ const constants_1 = require("../../constants");
7
+ const ast_1 = require("../../util/ast");
8
+ const MODULE_EVENT_MAP = buildModuleEventMap();
9
+ exports.rule = (0, create_rule_1.createRule)({
10
+ name: "prefer-workflow-event-over-module-event",
11
+ meta: {
12
+ type: "suggestion",
13
+ docs: {
14
+ description: "In a subscriber's `config.event`, prefer workflow event enums (`*WorkflowEvents`) over the equivalent internal module-level events.",
15
+ },
16
+ fixable: "code",
17
+ messages: {
18
+ preferWorkflowEvent: "`{{source}}` is an internal module event. Subscribe to the workflow event `{{target}}` instead.",
19
+ internalModuleEvent: "`{{source}}` is an internal module event with no public workflow-event equivalent. Confirm you mean to subscribe to an internal event, as these are implementation details and may change.",
20
+ },
21
+ schema: [],
22
+ },
23
+ defaultOptions: [],
24
+ create(context) {
25
+ if (MODULE_EVENT_MAP.size === 0) {
26
+ return {};
27
+ }
28
+ const sourceCode = context.sourceCode;
29
+ // local binding -> imported name
30
+ // e.g. `PE -> ProductEvents` for `import { ProductEvents as PE }`.
31
+ const importedLocals = new Map();
32
+ // Imported names already present, so the fix skips a duplicate import.
33
+ const importedUtilsNames = new Set();
34
+ // `import * as utils` -> `utils`.
35
+ const namespaceLocals = new Set();
36
+ // Workflow enums whose import this fix pass already queued.
37
+ const addedWorkflowImports = new Set();
38
+ // A named framework/utils import the fix can append workflow enums to.
39
+ let utilsImportDecl = null;
40
+ // The resolved subscriber `config` object, checked on `Program:exit`.
41
+ let configObject = null;
42
+ /**
43
+ * Ensure the workflow `enumName` is imported from framework/utils, appending
44
+ * to an existing named import when there is one, otherwise inserting a fresh
45
+ * import at the top of the file. Returns `null` when it is already imported
46
+ * (or another fix in this pass already queued it).
47
+ */
48
+ function ensureWorkflowImport(fixer, enumName) {
49
+ if (importedUtilsNames.has(enumName) ||
50
+ addedWorkflowImports.has(enumName)) {
51
+ return null;
52
+ }
53
+ addedWorkflowImports.add(enumName);
54
+ const specifiers = utilsImportDecl?.specifiers.filter((s) => s.type === utils_1.AST_NODE_TYPES.ImportSpecifier);
55
+ const last = specifiers?.[specifiers.length - 1];
56
+ if (last) {
57
+ return fixer.insertTextAfter(last, `, ${enumName}`);
58
+ }
59
+ return fixer.insertTextBeforeRange([0, 0], `import { ${enumName} } from "${constants_1.FRAMEWORK_UTILS_SOURCE}"\n`);
60
+ }
61
+ /** Check one entry of the subscriber `config.event` value. */
62
+ function checkEventExpression(node) {
63
+ const expr = (0, ast_1.unwrapTsExpression)(node);
64
+ const resolved = normalizeEnum(expr, importedLocals, namespaceLocals);
65
+ if (!resolved) {
66
+ return;
67
+ }
68
+ const replacement = MODULE_EVENT_MAP.get(resolved.key);
69
+ // undefined -> not an internal module event, ignore
70
+ if (replacement === undefined) {
71
+ return;
72
+ }
73
+ const source = sourceCode.getText(expr);
74
+ if (replacement === null) {
75
+ context.report({
76
+ node: expr,
77
+ messageId: "internalModuleEvent",
78
+ data: { source },
79
+ });
80
+ return;
81
+ }
82
+ context.report({
83
+ node: expr,
84
+ messageId: "preferWorkflowEvent",
85
+ data: { source, target: replacement },
86
+ fix(fixer) {
87
+ // Namespace form keeps its prefix and reaches the enum through the
88
+ // existing `utils` binding, so it needs no import.
89
+ if (resolved.namespace) {
90
+ return fixer.replaceText(expr, `${resolved.namespace}.${replacement}`);
91
+ }
92
+ const fixes = [
93
+ fixer.replaceText(expr, replacement),
94
+ ];
95
+ const enumName = replacement.slice(0, replacement.indexOf("."));
96
+ const importFix = ensureWorkflowImport(fixer, enumName);
97
+ if (importFix) {
98
+ fixes.push(importFix);
99
+ }
100
+ return fixes;
101
+ },
102
+ });
103
+ }
104
+ return {
105
+ ImportDeclaration(node) {
106
+ if (node.source.value !== constants_1.FRAMEWORK_UTILS_SOURCE) {
107
+ return;
108
+ }
109
+ for (const specifier of node.specifiers) {
110
+ if (specifier.type === utils_1.AST_NODE_TYPES.ImportSpecifier &&
111
+ specifier.imported.type === utils_1.AST_NODE_TYPES.Identifier) {
112
+ // `{ ProductEvents as PE }`: `PE -> ProductEvents`.
113
+ // `{ ProductEvents }`: `ProductEvents -> ProductEvents`.
114
+ importedUtilsNames.add(specifier.imported.name);
115
+ importedLocals.set(specifier.local.name, specifier.imported.name);
116
+ // Has named specifiers, so the fix can append into it.
117
+ utilsImportDecl ??= node;
118
+ }
119
+ else if (specifier.type === utils_1.AST_NODE_TYPES.ImportNamespaceSpecifier) {
120
+ namespaceLocals.add(specifier.local.name);
121
+ }
122
+ }
123
+ },
124
+ // Capture the subscriber `config` object, from either
125
+ // `export const config = { ... }` or `export { config }`.
126
+ ExportNamedDeclaration(node) {
127
+ if (node.declaration &&
128
+ node.declaration.type === utils_1.AST_NODE_TYPES.VariableDeclaration) {
129
+ for (const decl of node.declaration.declarations) {
130
+ if (decl.id.type === utils_1.AST_NODE_TYPES.Identifier &&
131
+ decl.id.name === "config") {
132
+ const resolved = (0, ast_1.resolveObjectExpression)(decl.init, sourceCode.getScope(node));
133
+ if (resolved) {
134
+ configObject = resolved;
135
+ }
136
+ }
137
+ }
138
+ }
139
+ for (const spec of node.specifiers) {
140
+ if (spec.exported.type !== utils_1.AST_NODE_TYPES.Identifier ||
141
+ spec.exported.name !== "config" ||
142
+ node.source) {
143
+ continue;
144
+ }
145
+ const resolved = (0, ast_1.resolveObjectExpression)(spec.local, sourceCode.getScope(node));
146
+ if (resolved) {
147
+ configObject = resolved;
148
+ }
149
+ }
150
+ },
151
+ // Deferred to the end so imports and the `config` object are both known.
152
+ "Program:exit"() {
153
+ if (!configObject) {
154
+ return;
155
+ }
156
+ const eventProp = (0, ast_1.findProperty)(configObject, "event");
157
+ if (!eventProp) {
158
+ return;
159
+ }
160
+ const value = eventProp.value;
161
+ if (value.type === utils_1.AST_NODE_TYPES.ArrayExpression) {
162
+ for (const entry of value.elements) {
163
+ if (entry && entry.type !== utils_1.AST_NODE_TYPES.SpreadElement) {
164
+ checkEventExpression(entry);
165
+ }
166
+ }
167
+ return;
168
+ }
169
+ // Ignore non-expression shapes (`AssignmentPattern`, empty-body method)
170
+ // that can't be an event name.
171
+ if (value.type !== utils_1.AST_NODE_TYPES.AssignmentPattern &&
172
+ value.type !== utils_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression) {
173
+ checkEventExpression(value);
174
+ }
175
+ },
176
+ };
177
+ },
178
+ });
179
+ exports.default = exports.rule;
180
+ function tryOrDefault(fn, defaultValue) {
181
+ try {
182
+ return fn();
183
+ }
184
+ catch {
185
+ return defaultValue;
186
+ }
187
+ }
188
+ /**
189
+ * Build a map of internal module events to their workflow-event equivalent, if any.
190
+ * Only enums whose value is in the internal `{module}.{data-model}.{action}`
191
+ * form are included.
192
+ */
193
+ function buildModuleEventMap() {
194
+ const map = new Map();
195
+ const exports = tryOrDefault(() => require(constants_1.FRAMEWORK_UTILS_SOURCE), null);
196
+ if (!exports) {
197
+ return map;
198
+ }
199
+ const isEnumObject = (value) => !!value && typeof value === "object";
200
+ const moduleValues = new Set(Object.keys(constants_1.MODULES_BY_VALUE));
201
+ // workflow event value -> `WorkflowEnum.MEMBER`, e.g.
202
+ // `product-category.deleted` -> `ProductCategoryWorkflowEvents.DELETED`.
203
+ const workflowByValue = new Map(Object.entries(exports)
204
+ .filter(([enumName, enumObj]) => enumName.endsWith("WorkflowEvents") && isEnumObject(enumObj))
205
+ .flatMap(([enumName, enumObj]) => Object.entries(enumObj).map(([member, value]) => [value, `${enumName}.${member}`])));
206
+ for (const [enumName, enumObj] of Object.entries(exports)) {
207
+ if (!enumName.endsWith("Events") || enumName.endsWith("WorkflowEvents")) {
208
+ continue;
209
+ }
210
+ if (!isEnumObject(enumObj)) {
211
+ continue;
212
+ }
213
+ for (const [member, value] of Object.entries(enumObj)) {
214
+ if (typeof value !== "string") {
215
+ continue;
216
+ }
217
+ // Internal service events are `{module}.{data-model}.{action}`
218
+ const parts = value.split(".");
219
+ if (parts.length < 3 || !moduleValues.has(parts[0])) {
220
+ continue;
221
+ }
222
+ const replacement = workflowByValue.get(parts.slice(1).join(".")) ?? null;
223
+ map.set(`${enumName}.${member}`, replacement);
224
+ map.set(value, replacement);
225
+ }
226
+ }
227
+ return map;
228
+ }
229
+ /**
230
+ * - `"order.placed"` -> literal value key, no namespace
231
+ * - `ProductEvents.PROD...` -> `ProductEvents.PRODUCT_CATEGORY_DELETED`, no namespace
232
+ * - `utils.ProductEvents.PROD...` -> same key, namespace `utils`
233
+ *
234
+ * Returns `null` otherwise
235
+ */
236
+ function normalizeEnum(node, importedLocals, namespaceLocals) {
237
+ if (node.type === utils_1.AST_NODE_TYPES.Literal && typeof node.value === "string") {
238
+ return { key: node.value, namespace: null };
239
+ }
240
+ if (node.type !== utils_1.AST_NODE_TYPES.MemberExpression) {
241
+ return null;
242
+ }
243
+ const member = memberName(node);
244
+ if (!member) {
245
+ return null;
246
+ }
247
+ const object = node.object;
248
+ // `PE.MEMBER` -> resolve `PE` to its imported enum name.
249
+ if (object.type === utils_1.AST_NODE_TYPES.Identifier) {
250
+ const canonical = importedLocals.get(object.name);
251
+ return canonical ? { key: `${canonical}.${member}`, namespace: null } : null;
252
+ }
253
+ // `utils.ProductEvents.MEMBER` -> the middle property is the enum name.
254
+ if (object.type === utils_1.AST_NODE_TYPES.MemberExpression &&
255
+ !object.computed &&
256
+ object.object.type === utils_1.AST_NODE_TYPES.Identifier &&
257
+ namespaceLocals.has(object.object.name) &&
258
+ object.property.type === utils_1.AST_NODE_TYPES.Identifier) {
259
+ return {
260
+ key: `${object.property.name}.${member}`,
261
+ namespace: object.object.name,
262
+ };
263
+ }
264
+ return null;
265
+ }
266
+ /** The accessed member, from `Enum.MEMBER` or `Enum["MEMBER"]`. */
267
+ function memberName(node) {
268
+ if (!node.computed && node.property.type === utils_1.AST_NODE_TYPES.Identifier) {
269
+ return node.property.name;
270
+ }
271
+ if (node.computed &&
272
+ node.property.type === utils_1.AST_NODE_TYPES.Literal &&
273
+ typeof node.property.value === "string") {
274
+ return node.property.value;
275
+ }
276
+ return null;
277
+ }
278
+ //# sourceMappingURL=rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.js","sourceRoot":"","sources":["../../../src/rules/prefer-workflow-event-over-module-event/rule.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"root":["../src/constants.ts","../src/create-rule.ts","../src/index.ts","../src/configs/modules.ts","../src/configs/recommended.ts","../src/configs/shared.ts","../src/configs/strict.ts","../src/rules/index.ts","../src/rules/admin-component-must-be-arrow-function/index.ts","../src/rules/admin-component-must-be-arrow-function/rule.ts","../src/rules/admin-env-vars-import-meta/index.ts","../src/rules/admin-env-vars-import-meta/rule.ts","../src/rules/admin-no-medusa-utils-import/index.ts","../src/rules/admin-no-medusa-utils-import/rule.ts","../src/rules/authenticate-flag-name-and-type/index.ts","../src/rules/authenticate-flag-name-and-type/rule.ts","../src/rules/data-model-table-name-snake-case/index.ts","../src/rules/data-model-table-name-snake-case/rule.ts","../src/rules/import-from-framework-not-internal/index.ts","../src/rules/import-from-framework-not-internal/rule.ts","../src/rules/link-create-keys-modules-enum/index.ts","../src/rules/link-create-keys-modules-enum/rule.ts","../src/rules/link-no-cross-module-relationship/index.ts","../src/rules/link-no-cross-module-relationship/rule.ts","../src/rules/link-uses-linkable-properties/index.ts","../src/rules/link-uses-linkable-properties/rule.ts","../src/rules/loader-must-be-exported-in-module-definition/index.ts","../src/rules/loader-must-be-exported-in-module-definition/rule.ts","../src/rules/medusa-context-on-context-param/index.ts","../src/rules/medusa-context-on-context-param/rule.ts","../src/rules/middleware-must-call-next/index.ts","../src/rules/middleware-must-call-next/rule.ts","../src/rules/middlewares-file-location-and-name/index.ts","../src/rules/middlewares-file-location-and-name/rule.ts","../src/rules/module-name-snake-case/index.ts","../src/rules/module-name-snake-case/rule.ts","../src/rules/no-async-workflow-constructor/index.ts","../src/rules/no-async-workflow-constructor/rule.ts","../src/rules/no-conditional-expressions-in-workflow/index.ts","../src/rules/no-conditional-expressions-in-workflow/rule.ts","../src/rules/no-config-on-dynamic-ui-route/index.ts","../src/rules/no-config-on-dynamic-ui-route/rule.ts","../src/rules/no-console-log-in-workflow/index.ts","../src/rules/no-console-log-in-workflow/rule.ts","../src/rules/no-deprecated-remote-query-config/index.ts","../src/rules/no-deprecated-remote-query-config/rule.ts","../src/rules/no-direct-variable-mutation-in-workflow/index.ts","../src/rules/no-direct-variable-mutation-in-workflow/rule.ts","../src/rules/no-duplicate-step-id-in-workflow/index.ts","../src/rules/no-duplicate-step-id-in-workflow/rule.ts","../src/rules/no-if-in-workflow-constructor/index.ts","../src/rules/no-if-in-workflow-constructor/rule.ts","../src/rules/no-loops-in-workflow/index.ts","../src/rules/no-loops-in-workflow/rule.ts","../src/rules/no-mikroorm-direct-import/index.ts","../src/rules/no-mikroorm-direct-import/rule.ts","../src/rules/no-new-date-in-workflow/index.ts","../src/rules/no-new-date-in-workflow/rule.ts","../src/rules/no-non-serializable-step-return/index.ts","../src/rules/no-non-serializable-step-return/rule.ts","../src/rules/no-reserved-default-properties-in-model/index.ts","../src/rules/no-reserved-default-properties-in-model/rule.ts","../src/rules/no-service-mutations-in-api-route/index.ts","../src/rules/no-service-mutations-in-api-route/rule.ts","../src/rules/no-spread-in-workflow/index.ts","../src/rules/no-spread-in-workflow/rule.ts","../src/rules/no-throw-in-transform/index.ts","../src/rules/no-throw-in-transform/rule.ts","../src/rules/no-trailing-slash-in-route-matcher/index.ts","../src/rules/no-trailing-slash-in-route-matcher/rule.ts","../src/rules/no-try-catch-in-workflow/index.ts","../src/rules/no-try-catch-in-workflow/rule.ts","../src/rules/no-wildcard-with-specific-fields/index.ts","../src/rules/no-wildcard-with-specific-fields/rule.ts","../src/rules/no-workflow-call-without-container/index.ts","../src/rules/no-workflow-call-without-container/rule.ts","../src/rules/prefer-container-registration-keys/index.ts","../src/rules/prefer-container-registration-keys/rule.ts","../src/rules/prefer-link-over-remote-link/index.ts","../src/rules/prefer-link-over-remote-link/rule.ts","../src/rules/prefer-modules-enum/index.ts","../src/rules/prefer-modules-enum/rule.ts","../src/rules/prices-in-major-units/index.ts","../src/rules/prices-in-major-units/rule.ts","../src/rules/primary-key-required/index.ts","../src/rules/primary-key-required/rule.ts","../src/rules/read-only-link-requires-field/index.ts","../src/rules/read-only-link-requires-field/rule.ts","../src/rules/route-dynamic-folder-syntax/index.ts","../src/rules/route-dynamic-folder-syntax/rule.ts","../src/rules/route-file-naming/index.ts","../src/rules/route-file-naming/rule.ts","../src/rules/route-handler-exports-uppercase/index.ts","../src/rules/route-handler-exports-uppercase/rule.ts","../src/rules/route-params-must-be-defined/index.ts","../src/rules/route-params-must-be-defined/rule.ts","../src/rules/scheduled-job-config-required/index.ts","../src/rules/scheduled-job-config-required/rule.ts","../src/rules/scheduled-job-default-export-async/index.ts","../src/rules/scheduled-job-default-export-async/rule.ts","../src/rules/scheduled-job-default-export-required/index.ts","../src/rules/scheduled-job-default-export-required/rule.ts","../src/rules/scheduled-job-name-unique/index.ts","../src/rules/scheduled-job-name-unique/rule.ts","../src/rules/scheduled-job-schedule-valid-cron/index.ts","../src/rules/scheduled-job-schedule-valid-cron/rule.ts","../src/rules/service-constructor-must-call-super/index.ts","../src/rules/service-constructor-must-call-super/rule.ts","../src/rules/service-methods-must-be-async/index.ts","../src/rules/service-methods-must-be-async/rule.ts","../src/rules/step-id-kebab-case/index.ts","../src/rules/step-id-kebab-case/rule.ts","../src/rules/step-must-return-step-response/index.ts","../src/rules/step-must-return-step-response/rule.ts","../src/rules/subscriber-config-export-required/index.ts","../src/rules/subscriber-config-export-required/rule.ts","../src/rules/subscriber-default-export-must-be-async/index.ts","../src/rules/subscriber-default-export-must-be-async/rule.ts","../src/rules/subscriber-default-export-required/index.ts","../src/rules/subscriber-default-export-required/rule.ts","../src/rules/ui-route-config-via-define-route-config/index.ts","../src/rules/ui-route-config-via-define-route-config/rule.ts","../src/rules/ui-route-file-name-page-tsx/index.ts","../src/rules/ui-route-file-name-page-tsx/rule.ts","../src/rules/ui-route-must-have-default-export/index.ts","../src/rules/ui-route-must-have-default-export/rule.ts","../src/rules/use-inject-manager-on-public-methods/index.ts","../src/rules/use-inject-manager-on-public-methods/rule.ts","../src/rules/use-medusa-error-not-generic-error/index.ts","../src/rules/use-medusa-error-not-generic-error/rule.ts","../src/rules/use-validated-body-or-query/index.ts","../src/rules/use-validated-body-or-query/rule.ts","../src/rules/widget-must-export-config/index.ts","../src/rules/widget-must-export-config/rule.ts","../src/rules/widget-must-have-default-export/index.ts","../src/rules/widget-must-have-default-export/rule.ts","../src/rules/widget-zone-must-be-string-literal/index.ts","../src/rules/widget-zone-must-be-string-literal/rule.ts","../src/rules/workflow-id-matches-export-or-filename/index.ts","../src/rules/workflow-id-matches-export-or-filename/rule.ts","../src/rules/workflow-must-return-workflow-response/index.ts","../src/rules/workflow-must-return-workflow-response/rule.ts","../src/rules/zod-import-source/index.ts","../src/rules/zod-import-source/rule.ts","../src/util/admin-scope.ts","../src/util/api-route.ts","../src/util/ast.ts","../src/util/container.ts","../src/util/filename.ts","../src/util/service-scope.ts","../src/util/strings.ts","../src/util/workflow-scope.ts"],"version":"5.9.3"}
1
+ {"root":["../src/constants.ts","../src/create-rule.ts","../src/index.ts","../src/configs/modules.ts","../src/configs/recommended.ts","../src/configs/shared.ts","../src/configs/strict.ts","../src/rules/index.ts","../src/rules/admin-component-must-be-arrow-function/index.ts","../src/rules/admin-component-must-be-arrow-function/rule.ts","../src/rules/admin-env-vars-import-meta/index.ts","../src/rules/admin-env-vars-import-meta/rule.ts","../src/rules/admin-no-medusa-utils-import/index.ts","../src/rules/admin-no-medusa-utils-import/rule.ts","../src/rules/authenticate-flag-name-and-type/index.ts","../src/rules/authenticate-flag-name-and-type/rule.ts","../src/rules/data-model-table-name-snake-case/index.ts","../src/rules/data-model-table-name-snake-case/rule.ts","../src/rules/import-from-framework-not-internal/index.ts","../src/rules/import-from-framework-not-internal/rule.ts","../src/rules/link-create-keys-modules-enum/index.ts","../src/rules/link-create-keys-modules-enum/rule.ts","../src/rules/link-no-cross-module-relationship/index.ts","../src/rules/link-no-cross-module-relationship/rule.ts","../src/rules/link-uses-linkable-properties/index.ts","../src/rules/link-uses-linkable-properties/rule.ts","../src/rules/loader-must-be-exported-in-module-definition/index.ts","../src/rules/loader-must-be-exported-in-module-definition/rule.ts","../src/rules/medusa-context-on-context-param/index.ts","../src/rules/medusa-context-on-context-param/rule.ts","../src/rules/middleware-must-call-next/index.ts","../src/rules/middleware-must-call-next/rule.ts","../src/rules/middlewares-file-location-and-name/index.ts","../src/rules/middlewares-file-location-and-name/rule.ts","../src/rules/module-name-snake-case/index.ts","../src/rules/module-name-snake-case/rule.ts","../src/rules/no-async-workflow-constructor/index.ts","../src/rules/no-async-workflow-constructor/rule.ts","../src/rules/no-conditional-expressions-in-workflow/index.ts","../src/rules/no-conditional-expressions-in-workflow/rule.ts","../src/rules/no-config-on-dynamic-ui-route/index.ts","../src/rules/no-config-on-dynamic-ui-route/rule.ts","../src/rules/no-console-log-in-workflow/index.ts","../src/rules/no-console-log-in-workflow/rule.ts","../src/rules/no-deprecated-remote-query-config/index.ts","../src/rules/no-deprecated-remote-query-config/rule.ts","../src/rules/no-direct-variable-mutation-in-workflow/index.ts","../src/rules/no-direct-variable-mutation-in-workflow/rule.ts","../src/rules/no-duplicate-step-id-in-workflow/index.ts","../src/rules/no-duplicate-step-id-in-workflow/rule.ts","../src/rules/no-if-in-workflow-constructor/index.ts","../src/rules/no-if-in-workflow-constructor/rule.ts","../src/rules/no-loops-in-workflow/index.ts","../src/rules/no-loops-in-workflow/rule.ts","../src/rules/no-mikroorm-direct-import/index.ts","../src/rules/no-mikroorm-direct-import/rule.ts","../src/rules/no-new-date-in-workflow/index.ts","../src/rules/no-new-date-in-workflow/rule.ts","../src/rules/no-non-serializable-step-return/index.ts","../src/rules/no-non-serializable-step-return/rule.ts","../src/rules/no-reserved-default-properties-in-model/index.ts","../src/rules/no-reserved-default-properties-in-model/rule.ts","../src/rules/no-service-mutations-in-api-route/index.ts","../src/rules/no-service-mutations-in-api-route/rule.ts","../src/rules/no-spread-in-workflow/index.ts","../src/rules/no-spread-in-workflow/rule.ts","../src/rules/no-throw-in-transform/index.ts","../src/rules/no-throw-in-transform/rule.ts","../src/rules/no-trailing-slash-in-route-matcher/index.ts","../src/rules/no-trailing-slash-in-route-matcher/rule.ts","../src/rules/no-try-catch-in-workflow/index.ts","../src/rules/no-try-catch-in-workflow/rule.ts","../src/rules/no-wildcard-with-specific-fields/index.ts","../src/rules/no-wildcard-with-specific-fields/rule.ts","../src/rules/no-workflow-call-without-container/index.ts","../src/rules/no-workflow-call-without-container/rule.ts","../src/rules/prefer-container-registration-keys/index.ts","../src/rules/prefer-container-registration-keys/rule.ts","../src/rules/prefer-link-over-remote-link/index.ts","../src/rules/prefer-link-over-remote-link/rule.ts","../src/rules/prefer-modules-enum/index.ts","../src/rules/prefer-modules-enum/rule.ts","../src/rules/prefer-workflow-event-over-module-event/index.ts","../src/rules/prefer-workflow-event-over-module-event/rule.ts","../src/rules/prices-in-major-units/index.ts","../src/rules/prices-in-major-units/rule.ts","../src/rules/primary-key-required/index.ts","../src/rules/primary-key-required/rule.ts","../src/rules/read-only-link-requires-field/index.ts","../src/rules/read-only-link-requires-field/rule.ts","../src/rules/route-dynamic-folder-syntax/index.ts","../src/rules/route-dynamic-folder-syntax/rule.ts","../src/rules/route-file-naming/index.ts","../src/rules/route-file-naming/rule.ts","../src/rules/route-handler-exports-uppercase/index.ts","../src/rules/route-handler-exports-uppercase/rule.ts","../src/rules/route-params-must-be-defined/index.ts","../src/rules/route-params-must-be-defined/rule.ts","../src/rules/scheduled-job-config-required/index.ts","../src/rules/scheduled-job-config-required/rule.ts","../src/rules/scheduled-job-default-export-async/index.ts","../src/rules/scheduled-job-default-export-async/rule.ts","../src/rules/scheduled-job-default-export-required/index.ts","../src/rules/scheduled-job-default-export-required/rule.ts","../src/rules/scheduled-job-name-unique/index.ts","../src/rules/scheduled-job-name-unique/rule.ts","../src/rules/scheduled-job-schedule-valid-cron/index.ts","../src/rules/scheduled-job-schedule-valid-cron/rule.ts","../src/rules/service-constructor-must-call-super/index.ts","../src/rules/service-constructor-must-call-super/rule.ts","../src/rules/service-methods-must-be-async/index.ts","../src/rules/service-methods-must-be-async/rule.ts","../src/rules/step-id-kebab-case/index.ts","../src/rules/step-id-kebab-case/rule.ts","../src/rules/step-must-return-step-response/index.ts","../src/rules/step-must-return-step-response/rule.ts","../src/rules/subscriber-config-export-required/index.ts","../src/rules/subscriber-config-export-required/rule.ts","../src/rules/subscriber-default-export-must-be-async/index.ts","../src/rules/subscriber-default-export-must-be-async/rule.ts","../src/rules/subscriber-default-export-required/index.ts","../src/rules/subscriber-default-export-required/rule.ts","../src/rules/ui-route-config-via-define-route-config/index.ts","../src/rules/ui-route-config-via-define-route-config/rule.ts","../src/rules/ui-route-file-name-page-tsx/index.ts","../src/rules/ui-route-file-name-page-tsx/rule.ts","../src/rules/ui-route-must-have-default-export/index.ts","../src/rules/ui-route-must-have-default-export/rule.ts","../src/rules/use-inject-manager-on-public-methods/index.ts","../src/rules/use-inject-manager-on-public-methods/rule.ts","../src/rules/use-medusa-error-not-generic-error/index.ts","../src/rules/use-medusa-error-not-generic-error/rule.ts","../src/rules/use-validated-body-or-query/index.ts","../src/rules/use-validated-body-or-query/rule.ts","../src/rules/widget-must-export-config/index.ts","../src/rules/widget-must-export-config/rule.ts","../src/rules/widget-must-have-default-export/index.ts","../src/rules/widget-must-have-default-export/rule.ts","../src/rules/widget-zone-must-be-string-literal/index.ts","../src/rules/widget-zone-must-be-string-literal/rule.ts","../src/rules/workflow-id-matches-export-or-filename/index.ts","../src/rules/workflow-id-matches-export-or-filename/rule.ts","../src/rules/workflow-must-return-workflow-response/index.ts","../src/rules/workflow-must-return-workflow-response/rule.ts","../src/rules/zod-import-source/index.ts","../src/rules/zod-import-source/rule.ts","../src/util/admin-scope.ts","../src/util/api-route.ts","../src/util/ast.ts","../src/util/container.ts","../src/util/filename.ts","../src/util/service-scope.ts","../src/util/strings.ts","../src/util/workflow-scope.ts"],"version":"5.9.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medusajs/eslint-plugin",
3
- "version": "2.18.0",
3
+ "version": "2.19.0-preview-20260811102316",
4
4
  "description": "Official ESLint plugin for Medusa projects. Enforces Medusa's framework conventions across API routes, modules, workflows, subscribers, jobs, admin extensions, and module links.",
5
5
  "repository": {
6
6
  "type": "git",