@memberjunction/react-test-harness 2.87.0 → 2.89.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.
@@ -1,3 +1,4 @@
1
+ import { ComponentSpec } from '@memberjunction/interactive-component-types';
1
2
  export interface LintResult {
2
3
  success: boolean;
3
4
  violations: Violation[];
@@ -22,7 +23,7 @@ export interface FixSuggestion {
22
23
  }
23
24
  export declare class ComponentLinter {
24
25
  private static universalComponentRules;
25
- static lintComponent(code: string, componentName: string, componentSpec?: any, isRootComponent?: boolean): Promise<LintResult>;
26
+ static lintComponent(code: string, componentName: string, componentSpec?: ComponentSpec, isRootComponent?: boolean): Promise<LintResult>;
26
27
  private static validateDataRequirements;
27
28
  private static getFunctionName;
28
29
  private static deduplicateViolations;
@@ -1 +1 @@
1
- {"version":3,"file":"component-linter.d.ts","sourceRoot":"","sources":["../../src/lib/component-linter.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAaD,qBAAa,eAAe;IAE1B,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAuyCpC;WAEkB,aAAa,CAC/B,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,GAAG,EACnB,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC,UAAU,CAAC;IAuEtB,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAgQvC,OAAO,CAAC,MAAM,CAAC,eAAe;IA2B9B,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAyBpC,OAAO,CAAC,MAAM,CAAC,sBAAsB;CA6pBtC"}
1
+ {"version":3,"file":"component-linter.d.ts","sourceRoot":"","sources":["../../src/lib/component-linter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAE5E,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAaD,qBAAa,eAAe;IAE1B,OAAO,CAAC,MAAM,CAAC,uBAAuB,CA2pCpC;WAEkB,aAAa,CAC/B,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,aAAa,EAC7B,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC,UAAU,CAAC;IAuEtB,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAgQvC,OAAO,CAAC,MAAM,CAAC,eAAe;IA2B9B,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAyBpC,OAAO,CAAC,MAAM,CAAC,sBAAsB;CA6pBtC"}
@@ -56,7 +56,7 @@ class ComponentLinter {
56
56
  const violations = [];
57
57
  // Run each rule
58
58
  for (const rule of rules) {
59
- const ruleViolations = rule.test(ast, componentName);
59
+ const ruleViolations = rule.test(ast, componentName, componentSpec);
60
60
  violations.push(...ruleViolations);
61
61
  }
62
62
  // Add data requirements validation if componentSpec is provided
@@ -1003,168 +1003,10 @@ function RootComponent({ utilities, styles, components, callbacks, savedUserSett
1003
1003
  exports.ComponentLinter = ComponentLinter;
1004
1004
  // Universal rules that apply to all components with SavedUserSettings pattern
1005
1005
  ComponentLinter.universalComponentRules = [
1006
- // State Management Rules
1007
- {
1008
- name: 'full-state-ownership',
1009
- appliesTo: 'all',
1010
- test: (ast, componentName) => {
1011
- const violations = [];
1012
- const controlledStateProps = [];
1013
- const initializationProps = [];
1014
- const eventHandlers = [];
1015
- const acceptedProps = new Map();
1016
- // First pass: collect all props
1017
- (0, traverse_1.default)(ast, {
1018
- FunctionDeclaration(path) {
1019
- if (path.node.id && path.node.id.name === componentName && path.node.params[0]) {
1020
- const param = path.node.params[0];
1021
- if (t.isObjectPattern(param)) {
1022
- for (const prop of param.properties) {
1023
- if (t.isObjectProperty(prop) && t.isIdentifier(prop.key)) {
1024
- const propName = prop.key.name;
1025
- acceptedProps.set(propName, {
1026
- line: prop.loc?.start.line || 0,
1027
- column: prop.loc?.start.column || 0
1028
- });
1029
- // Categorize props
1030
- if (/^on[A-Z]/.test(propName) && propName !== 'onSaveUserSettings') {
1031
- eventHandlers.push(propName);
1032
- }
1033
- }
1034
- }
1035
- }
1036
- }
1037
- },
1038
- // Also check arrow functions
1039
- VariableDeclarator(path) {
1040
- if (t.isIdentifier(path.node.id) && path.node.id.name === componentName) {
1041
- const init = path.node.init;
1042
- if (t.isArrowFunctionExpression(init) && init.params[0]) {
1043
- const param = init.params[0];
1044
- if (t.isObjectPattern(param)) {
1045
- for (const prop of param.properties) {
1046
- if (t.isObjectProperty(prop) && t.isIdentifier(prop.key)) {
1047
- const propName = prop.key.name;
1048
- acceptedProps.set(propName, {
1049
- line: prop.loc?.start.line || 0,
1050
- column: prop.loc?.start.column || 0
1051
- });
1052
- // Categorize props
1053
- if (/^on[A-Z]/.test(propName) && propName !== 'onSaveUserSettings') {
1054
- eventHandlers.push(propName);
1055
- }
1056
- }
1057
- }
1058
- }
1059
- }
1060
- }
1061
- }
1062
- });
1063
- // Analyze props for controlled component patterns
1064
- const controlledPatterns = [
1065
- { stateProp: 'value', handler: 'onChange' },
1066
- { stateProp: 'checked', handler: 'onChange' },
1067
- { stateProp: 'selectedId', handler: 'onSelect' },
1068
- { stateProp: 'selectedIds', handler: 'onSelectionChange' },
1069
- { stateProp: 'selectedItems', handler: 'onSelectionChange' },
1070
- { stateProp: 'activeTab', handler: 'onTabChange' },
1071
- { stateProp: 'currentPage', handler: 'onPageChange' },
1072
- { stateProp: 'expanded', handler: 'onExpand' },
1073
- { stateProp: 'collapsed', handler: 'onCollapse' },
1074
- { stateProp: 'open', handler: 'onOpenChange' },
1075
- { stateProp: 'visible', handler: 'onVisibilityChange' }
1076
- ];
1077
- // Check each accepted prop
1078
- for (const [propName, location] of acceptedProps) {
1079
- // Skip standard props
1080
- if (['utilities', 'styles', 'components', 'callbacks', 'savedUserSettings', 'onSaveUserSettings'].includes(propName)) {
1081
- continue;
1082
- }
1083
- // Skip data props (arrays, objects that are clearly data)
1084
- if (propName.endsWith('Data') || propName === 'items' || propName === 'options' ||
1085
- propName === 'rows' || propName === 'columns' || propName === 'records') {
1086
- continue;
1087
- }
1088
- // Check if it's an initialization prop (allowed)
1089
- if (propName.startsWith('initial') || propName.startsWith('default')) {
1090
- initializationProps.push(propName);
1091
- continue;
1092
- }
1093
- // Check if it's a configuration prop (allowed)
1094
- // Be generous - configuration props are those that configure behavior, not manage state
1095
- if (propName.endsWith('Config') || propName.endsWith('Settings') || propName.endsWith('Options') ||
1096
- propName === 'pageSize' || propName === 'maxItems' || propName === 'minValue' || propName === 'maxValue' ||
1097
- propName === 'placeholder' || propName === 'label' || propName === 'title' || propName === 'disabled' ||
1098
- propName === 'readonly' || propName === 'required' || propName === 'className' || propName === 'style' ||
1099
- // Sort/filter configuration when not paired with state management handlers
1100
- ((propName.includes('sort') || propName.includes('Sort') ||
1101
- propName.includes('filter') || propName.includes('Filter') ||
1102
- propName === 'orderBy' || propName === 'groupBy') &&
1103
- !acceptedProps.has('onSortChange') && !acceptedProps.has('onFilterChange') &&
1104
- !acceptedProps.has('onChange'))) {
1105
- continue;
1106
- }
1107
- // Check for controlled component pattern (both state prop and handler present)
1108
- let isControlled = false;
1109
- for (const pattern of controlledPatterns) {
1110
- if (propName === pattern.stateProp) {
1111
- // Check if the corresponding handler exists
1112
- if (acceptedProps.has(pattern.handler) || eventHandlers.includes(pattern.handler)) {
1113
- controlledStateProps.push(propName);
1114
- isControlled = true;
1115
- break;
1116
- }
1117
- // If state prop exists without handler, it's still problematic
1118
- // unless it's clearly for initialization
1119
- if (!propName.startsWith('initial') && !propName.startsWith('default')) {
1120
- controlledStateProps.push(propName);
1121
- isControlled = true;
1122
- break;
1123
- }
1124
- }
1125
- }
1126
- // Check for state-like props that aren't initialization
1127
- if (!isControlled) {
1128
- const statePatterns = [
1129
- 'selectedId', 'selectedItemId', 'selectedItem', 'selection',
1130
- 'filters', 'sortBy', 'sortField', 'sortDirection', 'orderBy',
1131
- 'currentPage', 'pageNumber', 'page',
1132
- 'activeTab', 'activeIndex', 'activeKey',
1133
- 'expandedItems', 'collapsedItems',
1134
- 'searchTerm', 'searchQuery', 'query',
1135
- 'formData', 'formValues', 'values'
1136
- ];
1137
- for (const pattern of statePatterns) {
1138
- if (propName === pattern || propName.toLowerCase() === pattern.toLowerCase()) {
1139
- // This is a state prop without proper initialization naming
1140
- controlledStateProps.push(propName);
1141
- break;
1142
- }
1143
- }
1144
- }
1145
- }
1146
- // Generate violations for controlled state props
1147
- if (controlledStateProps.length > 0) {
1148
- violations.push({
1149
- rule: 'full-state-ownership',
1150
- severity: 'critical', // This is critical as it breaks the architecture
1151
- line: 1,
1152
- column: 0,
1153
- message: `Component "${componentName}" accepts controlled state props (${controlledStateProps.join(', ')}) instead of managing state internally. Use 'initial*' or 'default*' prefixes for initialization props (e.g., 'initialPage' instead of 'currentPage'). Each component must manage ALL its own state.`
1154
- });
1155
- }
1156
- // Add warning for initialization props (informational)
1157
- if (initializationProps.length > 0 && violations.length === 0) {
1158
- // This is actually OK, but we can log it for awareness
1159
- // Don't create a violation, just note it's using the correct pattern
1160
- }
1161
- return violations;
1162
- }
1163
- },
1164
1006
  {
1165
1007
  name: 'no-use-reducer',
1166
1008
  appliesTo: 'all',
1167
- test: (ast, componentName) => {
1009
+ test: (ast, componentName, componentSpec) => {
1168
1010
  const violations = [];
1169
1011
  (0, traverse_1.default)(ast, {
1170
1012
  CallExpression(path) {
@@ -1191,7 +1033,7 @@ ComponentLinter.universalComponentRules = [
1191
1033
  {
1192
1034
  name: 'no-data-prop',
1193
1035
  appliesTo: 'all',
1194
- test: (ast, componentName) => {
1036
+ test: (ast, componentName, componentSpec) => {
1195
1037
  const violations = [];
1196
1038
  (0, traverse_1.default)(ast, {
1197
1039
  // Check function parameters for 'data' prop
@@ -1244,7 +1086,7 @@ ComponentLinter.universalComponentRules = [
1244
1086
  {
1245
1087
  name: 'saved-user-settings-pattern',
1246
1088
  appliesTo: 'all',
1247
- test: (ast, componentName) => {
1089
+ test: (ast, componentName, componentSpec) => {
1248
1090
  const violations = [];
1249
1091
  // Check for improper onSaveUserSettings usage
1250
1092
  (0, traverse_1.default)(ast, {
@@ -1283,14 +1125,45 @@ ComponentLinter.universalComponentRules = [
1283
1125
  {
1284
1126
  name: 'pass-standard-props',
1285
1127
  appliesTo: 'all',
1286
- test: (ast, componentName) => {
1128
+ test: (ast, componentName, componentSpec) => {
1287
1129
  const violations = [];
1288
1130
  const requiredProps = ['styles', 'utilities', 'components'];
1131
+ // Build a set of our component names from componentSpec dependencies
1132
+ const ourComponentNames = new Set();
1133
+ // Add components from dependencies array
1134
+ if (componentSpec?.dependencies) {
1135
+ for (const dep of componentSpec.dependencies) {
1136
+ if (dep.name) {
1137
+ ourComponentNames.add(dep.name);
1138
+ }
1139
+ }
1140
+ }
1141
+ // Also find components destructured from the components prop in the code
1142
+ (0, traverse_1.default)(ast, {
1143
+ VariableDeclarator(path) {
1144
+ // Look for: const { ComponentA, ComponentB } = components;
1145
+ if (t.isObjectPattern(path.node.id) &&
1146
+ t.isIdentifier(path.node.init) &&
1147
+ path.node.init.name === 'components') {
1148
+ for (const prop of path.node.id.properties) {
1149
+ if (t.isObjectProperty(prop) && t.isIdentifier(prop.key)) {
1150
+ ourComponentNames.add(prop.key.name);
1151
+ }
1152
+ // Also handle renaming: { ComponentA: RenamedComponent }
1153
+ if (t.isObjectProperty(prop) && t.isIdentifier(prop.value)) {
1154
+ ourComponentNames.add(prop.value.name);
1155
+ }
1156
+ }
1157
+ }
1158
+ }
1159
+ });
1160
+ // Now check only our components for standard props
1289
1161
  (0, traverse_1.default)(ast, {
1290
1162
  JSXElement(path) {
1291
1163
  const openingElement = path.node.openingElement;
1292
- // Check if this looks like a component (capitalized name)
1293
- if (t.isJSXIdentifier(openingElement.name) && /^[A-Z]/.test(openingElement.name.name)) {
1164
+ // Only check if it's one of our components
1165
+ if (t.isJSXIdentifier(openingElement.name) &&
1166
+ ourComponentNames.has(openingElement.name.name)) {
1294
1167
  const componentBeingCalled = openingElement.name.name;
1295
1168
  const passedProps = new Set();
1296
1169
  // Collect all props being passed
@@ -1301,14 +1174,13 @@ ComponentLinter.universalComponentRules = [
1301
1174
  }
1302
1175
  // Check if required props are missing
1303
1176
  const missingProps = requiredProps.filter(prop => !passedProps.has(prop));
1304
- if (missingProps.length > 0 && passedProps.size > 0) {
1305
- // Only report if some props are passed (to avoid false positives on non-component JSX)
1177
+ if (missingProps.length > 0) {
1306
1178
  violations.push({
1307
1179
  rule: 'pass-standard-props',
1308
1180
  severity: 'critical',
1309
1181
  line: openingElement.loc?.start.line || 0,
1310
1182
  column: openingElement.loc?.start.column || 0,
1311
- message: `Component "${componentBeingCalled}" is missing required props: ${missingProps.join(', ')}. All components must receive styles, utilities, and components props.`,
1183
+ message: `Component "${componentBeingCalled}" is missing required props: ${missingProps.join(', ')}. All child components must receive styles, utilities, and components props.`,
1312
1184
  code: `<${componentBeingCalled} ... />`
1313
1185
  });
1314
1186
  }
@@ -1321,7 +1193,7 @@ ComponentLinter.universalComponentRules = [
1321
1193
  {
1322
1194
  name: 'no-child-implementation',
1323
1195
  appliesTo: 'root',
1324
- test: (ast, componentName) => {
1196
+ test: (ast, componentName, componentSpec) => {
1325
1197
  const violations = [];
1326
1198
  const rootFunctionName = componentName;
1327
1199
  const declaredFunctions = [];
@@ -1351,7 +1223,7 @@ ComponentLinter.universalComponentRules = [
1351
1223
  {
1352
1224
  name: 'undefined-component-usage',
1353
1225
  appliesTo: 'all',
1354
- test: (ast, componentName) => {
1226
+ test: (ast, componentName, componentSpec) => {
1355
1227
  const violations = [];
1356
1228
  const componentsFromProps = new Set();
1357
1229
  const componentsUsedInJSX = new Set();
@@ -1424,7 +1296,7 @@ ComponentLinter.universalComponentRules = [
1424
1296
  {
1425
1297
  name: 'unsafe-array-access',
1426
1298
  appliesTo: 'all',
1427
- test: (ast, componentName) => {
1299
+ test: (ast, componentName, componentSpec) => {
1428
1300
  const violations = [];
1429
1301
  (0, traverse_1.default)(ast, {
1430
1302
  MemberExpression(path) {
@@ -1456,7 +1328,7 @@ ComponentLinter.universalComponentRules = [
1456
1328
  {
1457
1329
  name: 'array-reduce-safety',
1458
1330
  appliesTo: 'all',
1459
- test: (ast, componentName) => {
1331
+ test: (ast, componentName, componentSpec) => {
1460
1332
  const violations = [];
1461
1333
  (0, traverse_1.default)(ast, {
1462
1334
  CallExpression(path) {
@@ -1498,144 +1370,144 @@ ComponentLinter.universalComponentRules = [
1498
1370
  return violations;
1499
1371
  }
1500
1372
  },
1501
- {
1502
- name: 'parent-event-callback-usage',
1503
- appliesTo: 'child',
1504
- test: (ast, componentName) => {
1505
- const violations = [];
1506
- const eventCallbacks = new Map();
1507
- const callbackInvocations = new Set();
1508
- const stateUpdateHandlers = new Map(); // handler -> state updates
1509
- // First pass: collect event callback props (onSelect, onChange, etc.)
1510
- (0, traverse_1.default)(ast, {
1511
- FunctionDeclaration(path) {
1512
- if (path.node.id && path.node.id.name === componentName && path.node.params[0]) {
1513
- const param = path.node.params[0];
1514
- if (t.isObjectPattern(param)) {
1515
- for (const prop of param.properties) {
1516
- if (t.isObjectProperty(prop) && t.isIdentifier(prop.key)) {
1517
- const propName = prop.key.name;
1518
- // Check for event callback patterns
1519
- if (/^on[A-Z]/.test(propName) &&
1520
- propName !== 'onSaveUserSettings' &&
1521
- !propName.includes('StateChanged')) {
1522
- eventCallbacks.set(propName, {
1523
- line: prop.loc?.start.line || 0,
1524
- column: prop.loc?.start.column || 0
1525
- });
1526
- }
1527
- }
1528
- }
1529
- }
1530
- }
1531
- },
1532
- // Also check arrow function components
1533
- VariableDeclarator(path) {
1534
- if (t.isIdentifier(path.node.id) && path.node.id.name === componentName) {
1535
- const init = path.node.init;
1536
- if (t.isArrowFunctionExpression(init) && init.params[0]) {
1537
- const param = init.params[0];
1538
- if (t.isObjectPattern(param)) {
1539
- for (const prop of param.properties) {
1540
- if (t.isObjectProperty(prop) && t.isIdentifier(prop.key)) {
1541
- const propName = prop.key.name;
1542
- if (/^on[A-Z]/.test(propName) &&
1543
- propName !== 'onSaveUserSettings' &&
1544
- !propName.includes('StateChanged')) {
1545
- eventCallbacks.set(propName, {
1546
- line: prop.loc?.start.line || 0,
1547
- column: prop.loc?.start.column || 0
1548
- });
1549
- }
1550
- }
1551
- }
1552
- }
1553
- }
1554
- }
1555
- }
1556
- });
1557
- // Second pass: check if callbacks are invoked in event handlers
1558
- (0, traverse_1.default)(ast, {
1559
- CallExpression(path) {
1560
- // Check for callback invocations
1561
- if (t.isIdentifier(path.node.callee)) {
1562
- const callbackName = path.node.callee.name;
1563
- if (eventCallbacks.has(callbackName)) {
1564
- callbackInvocations.add(callbackName);
1565
- }
1566
- }
1567
- // Check for state updates (setSelectedId, setFilters, etc.)
1568
- if (t.isIdentifier(path.node.callee) && /^set[A-Z]/.test(path.node.callee.name)) {
1569
- // Find the containing function
1570
- let containingFunction = path.getFunctionParent();
1571
- if (containingFunction) {
1572
- const funcName = ComponentLinter.getFunctionName(containingFunction);
1573
- if (funcName) {
1574
- if (!stateUpdateHandlers.has(funcName)) {
1575
- stateUpdateHandlers.set(funcName, []);
1576
- }
1577
- stateUpdateHandlers.get(funcName).push(path.node.callee.name);
1578
- }
1579
- }
1580
- }
1581
- },
1582
- // Check conditional callback invocations
1583
- IfStatement(path) {
1584
- if (t.isBlockStatement(path.node.consequent)) {
1585
- // Check if the condition tests for callback existence
1586
- if (t.isIdentifier(path.node.test)) {
1587
- const callbackName = path.node.test.name;
1588
- if (eventCallbacks.has(callbackName)) {
1589
- // Check if callback is invoked in the block
1590
- let hasInvocation = false;
1591
- path.traverse({
1592
- CallExpression(innerPath) {
1593
- if (t.isIdentifier(innerPath.node.callee) &&
1594
- innerPath.node.callee.name === callbackName) {
1595
- hasInvocation = true;
1596
- callbackInvocations.add(callbackName);
1597
- }
1598
- }
1599
- });
1600
- }
1601
- }
1602
- }
1603
- }
1604
- });
1605
- // Check for unused callbacks that have related state updates
1606
- for (const [callbackName, location] of eventCallbacks) {
1607
- if (!callbackInvocations.has(callbackName)) {
1608
- // Try to find related state update handlers
1609
- const relatedHandlers = [];
1610
- const expectedStateName = callbackName.replace(/^on/, '').replace(/Change$|Select$/, '');
1611
- for (const [handlerName, stateUpdates] of stateUpdateHandlers) {
1612
- for (const stateUpdate of stateUpdates) {
1613
- if (stateUpdate.toLowerCase().includes(expectedStateName.toLowerCase()) ||
1614
- handlerName.toLowerCase().includes(expectedStateName.toLowerCase())) {
1615
- relatedHandlers.push(handlerName);
1616
- break;
1617
- }
1618
- }
1619
- }
1620
- if (relatedHandlers.length > 0) {
1621
- violations.push({
1622
- rule: 'parent-event-callback-usage',
1623
- severity: 'critical',
1624
- line: location.line,
1625
- column: location.column,
1626
- message: `Component receives '${callbackName}' event callback but never invokes it. Found state updates in ${relatedHandlers.join(', ')} but parent is not notified.`,
1627
- code: `Missing: if (${callbackName}) ${callbackName}(...)`
1628
- });
1629
- }
1630
- }
1631
- }
1632
- return violations;
1633
- }
1634
- },
1373
+ // {
1374
+ // name: 'parent-event-callback-usage',
1375
+ // appliesTo: 'child',
1376
+ // test: (ast: t.File, componentName: string) => {
1377
+ // const violations: Violation[] = [];
1378
+ // const eventCallbacks = new Map<string, { line: number; column: number }>();
1379
+ // const callbackInvocations = new Set<string>();
1380
+ // const stateUpdateHandlers = new Map<string, string[]>(); // handler -> state updates
1381
+ // // First pass: collect event callback props (onSelect, onChange, etc.)
1382
+ // traverse(ast, {
1383
+ // FunctionDeclaration(path: NodePath<t.FunctionDeclaration>) {
1384
+ // if (path.node.id && path.node.id.name === componentName && path.node.params[0]) {
1385
+ // const param = path.node.params[0];
1386
+ // if (t.isObjectPattern(param)) {
1387
+ // for (const prop of param.properties) {
1388
+ // if (t.isObjectProperty(prop) && t.isIdentifier(prop.key)) {
1389
+ // const propName = prop.key.name;
1390
+ // // Check for event callback patterns
1391
+ // if (/^on[A-Z]/.test(propName) &&
1392
+ // propName !== 'onSaveUserSettings' &&
1393
+ // !propName.includes('StateChanged')) {
1394
+ // eventCallbacks.set(propName, {
1395
+ // line: prop.loc?.start.line || 0,
1396
+ // column: prop.loc?.start.column || 0
1397
+ // });
1398
+ // }
1399
+ // }
1400
+ // }
1401
+ // }
1402
+ // }
1403
+ // },
1404
+ // // Also check arrow function components
1405
+ // VariableDeclarator(path: NodePath<t.VariableDeclarator>) {
1406
+ // if (t.isIdentifier(path.node.id) && path.node.id.name === componentName) {
1407
+ // const init = path.node.init;
1408
+ // if (t.isArrowFunctionExpression(init) && init.params[0]) {
1409
+ // const param = init.params[0];
1410
+ // if (t.isObjectPattern(param)) {
1411
+ // for (const prop of param.properties) {
1412
+ // if (t.isObjectProperty(prop) && t.isIdentifier(prop.key)) {
1413
+ // const propName = prop.key.name;
1414
+ // if (/^on[A-Z]/.test(propName) &&
1415
+ // propName !== 'onSaveUserSettings' &&
1416
+ // !propName.includes('StateChanged')) {
1417
+ // eventCallbacks.set(propName, {
1418
+ // line: prop.loc?.start.line || 0,
1419
+ // column: prop.loc?.start.column || 0
1420
+ // });
1421
+ // }
1422
+ // }
1423
+ // }
1424
+ // }
1425
+ // }
1426
+ // }
1427
+ // }
1428
+ // });
1429
+ // // Second pass: check if callbacks are invoked in event handlers
1430
+ // traverse(ast, {
1431
+ // CallExpression(path: NodePath<t.CallExpression>) {
1432
+ // // Check for callback invocations
1433
+ // if (t.isIdentifier(path.node.callee)) {
1434
+ // const callbackName = path.node.callee.name;
1435
+ // if (eventCallbacks.has(callbackName)) {
1436
+ // callbackInvocations.add(callbackName);
1437
+ // }
1438
+ // }
1439
+ // // Check for state updates (setSelectedId, setFilters, etc.)
1440
+ // if (t.isIdentifier(path.node.callee) && /^set[A-Z]/.test(path.node.callee.name)) {
1441
+ // // Find the containing function
1442
+ // let containingFunction = path.getFunctionParent();
1443
+ // if (containingFunction) {
1444
+ // const funcName = ComponentLinter.getFunctionName(containingFunction);
1445
+ // if (funcName) {
1446
+ // if (!stateUpdateHandlers.has(funcName)) {
1447
+ // stateUpdateHandlers.set(funcName, []);
1448
+ // }
1449
+ // stateUpdateHandlers.get(funcName)!.push(path.node.callee.name);
1450
+ // }
1451
+ // }
1452
+ // }
1453
+ // },
1454
+ // // Check conditional callback invocations
1455
+ // IfStatement(path: NodePath<t.IfStatement>) {
1456
+ // if (t.isBlockStatement(path.node.consequent)) {
1457
+ // // Check if the condition tests for callback existence
1458
+ // if (t.isIdentifier(path.node.test)) {
1459
+ // const callbackName = path.node.test.name;
1460
+ // if (eventCallbacks.has(callbackName)) {
1461
+ // // Check if callback is invoked in the block
1462
+ // let hasInvocation = false;
1463
+ // path.traverse({
1464
+ // CallExpression(innerPath: NodePath<t.CallExpression>) {
1465
+ // if (t.isIdentifier(innerPath.node.callee) &&
1466
+ // innerPath.node.callee.name === callbackName) {
1467
+ // hasInvocation = true;
1468
+ // callbackInvocations.add(callbackName);
1469
+ // }
1470
+ // }
1471
+ // });
1472
+ // }
1473
+ // }
1474
+ // }
1475
+ // }
1476
+ // });
1477
+ // // Check for unused callbacks that have related state updates
1478
+ // for (const [callbackName, location] of eventCallbacks) {
1479
+ // if (!callbackInvocations.has(callbackName)) {
1480
+ // // Try to find related state update handlers
1481
+ // const relatedHandlers: string[] = [];
1482
+ // const expectedStateName = callbackName.replace(/^on/, '').replace(/Change$|Select$/, '');
1483
+ // for (const [handlerName, stateUpdates] of stateUpdateHandlers) {
1484
+ // for (const stateUpdate of stateUpdates) {
1485
+ // if (stateUpdate.toLowerCase().includes(expectedStateName.toLowerCase()) ||
1486
+ // handlerName.toLowerCase().includes(expectedStateName.toLowerCase())) {
1487
+ // relatedHandlers.push(handlerName);
1488
+ // break;
1489
+ // }
1490
+ // }
1491
+ // }
1492
+ // if (relatedHandlers.length > 0) {
1493
+ // violations.push({
1494
+ // rule: 'parent-event-callback-usage',
1495
+ // severity: 'critical',
1496
+ // line: location.line,
1497
+ // column: location.column,
1498
+ // message: `Component receives '${callbackName}' event callback but never invokes it. Found state updates in ${relatedHandlers.join(', ')} but parent is not notified.`,
1499
+ // code: `Missing: if (${callbackName}) ${callbackName}(...)`
1500
+ // });
1501
+ // }
1502
+ // }
1503
+ // }
1504
+ // return violations;
1505
+ // }
1506
+ // },
1635
1507
  {
1636
1508
  name: 'property-name-consistency',
1637
1509
  appliesTo: 'all',
1638
- test: (ast, componentName) => {
1510
+ test: (ast, componentName, componentSpec) => {
1639
1511
  const violations = [];
1640
1512
  const dataTransformations = new Map();
1641
1513
  const propertyAccesses = new Map(); // variable -> accessed properties
@@ -1755,7 +1627,7 @@ ComponentLinter.universalComponentRules = [
1755
1627
  {
1756
1628
  name: 'noisy-settings-updates',
1757
1629
  appliesTo: 'all',
1758
- test: (ast, componentName) => {
1630
+ test: (ast, componentName, componentSpec) => {
1759
1631
  const violations = [];
1760
1632
  (0, traverse_1.default)(ast, {
1761
1633
  CallExpression(path) {
@@ -1793,7 +1665,7 @@ ComponentLinter.universalComponentRules = [
1793
1665
  {
1794
1666
  name: 'prop-state-sync',
1795
1667
  appliesTo: 'all',
1796
- test: (ast, componentName) => {
1668
+ test: (ast, componentName, componentSpec) => {
1797
1669
  const violations = [];
1798
1670
  (0, traverse_1.default)(ast, {
1799
1671
  CallExpression(path) {
@@ -1828,7 +1700,7 @@ ComponentLinter.universalComponentRules = [
1828
1700
  {
1829
1701
  name: 'performance-memoization',
1830
1702
  appliesTo: 'all',
1831
- test: (ast, componentName) => {
1703
+ test: (ast, componentName, componentSpec) => {
1832
1704
  const violations = [];
1833
1705
  const memoizedValues = new Set();
1834
1706
  // Collect memoized values
@@ -1906,7 +1778,7 @@ ComponentLinter.universalComponentRules = [
1906
1778
  {
1907
1779
  name: 'child-state-management',
1908
1780
  appliesTo: 'all',
1909
- test: (ast, componentName) => {
1781
+ test: (ast, componentName, componentSpec) => {
1910
1782
  const violations = [];
1911
1783
  (0, traverse_1.default)(ast, {
1912
1784
  CallExpression(path) {
@@ -1945,7 +1817,7 @@ ComponentLinter.universalComponentRules = [
1945
1817
  {
1946
1818
  name: 'server-reload-on-client-operation',
1947
1819
  appliesTo: 'all',
1948
- test: (ast, componentName) => {
1820
+ test: (ast, componentName, componentSpec) => {
1949
1821
  const violations = [];
1950
1822
  (0, traverse_1.default)(ast, {
1951
1823
  CallExpression(path) {
@@ -1979,16 +1851,17 @@ ComponentLinter.universalComponentRules = [
1979
1851
  {
1980
1852
  name: 'runview-runquery-valid-properties',
1981
1853
  appliesTo: 'all',
1982
- test: (ast, componentName) => {
1854
+ test: (ast, componentName, componentSpec) => {
1983
1855
  const violations = [];
1984
1856
  // Valid properties for RunView/RunViews
1985
1857
  const validRunViewProps = new Set([
1986
- 'EntityName', 'ExtraFilter', 'OrderBy', 'Fields',
1987
- 'MaxRows', 'StartRow', 'ResultType'
1858
+ 'ViewID', 'ViewName', 'EntityName', 'ExtraFilter', 'OrderBy', 'Fields',
1859
+ 'MaxRows', 'StartRow', 'ResultType', 'UserSearchString', 'ForceAuditLog', 'AuditLogDescription',
1860
+ 'ResultType'
1988
1861
  ]);
1989
1862
  // Valid properties for RunQuery
1990
1863
  const validRunQueryProps = new Set([
1991
- 'QueryName', 'CategoryName', 'CategoryID', 'Parameters'
1864
+ 'QueryID', 'QueryName', 'CategoryID', 'CategoryPath', 'Parameters', 'MaxRows', 'StartRow', 'ForceAuditLog', 'AuditLogDescription'
1992
1865
  ]);
1993
1866
  (0, traverse_1.default)(ast, {
1994
1867
  CallExpression(path) {
@@ -2103,7 +1976,7 @@ ComponentLinter.universalComponentRules = [
2103
1976
  {
2104
1977
  name: 'root-component-props-restriction',
2105
1978
  appliesTo: 'root',
2106
- test: (ast, componentName) => {
1979
+ test: (ast, componentName, componentSpec) => {
2107
1980
  const violations = [];
2108
1981
  const standardProps = new Set(['utilities', 'styles', 'components', 'callbacks', 'savedUserSettings', 'onSaveUserSettings']);
2109
1982
  // This rule applies when testing root components
@@ -1 +1 @@
1
- {"version":3,"file":"component-linter.js","sourceRoot":"","sources":["../../src/lib/component-linter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component-linter.js","sourceRoot":"","sources":["../../src/lib/component-linter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"test-harness.d.ts","sourceRoot":"","sources":["../../src/lib/test-harness.ts"],"names":[],"mappings":";AAAA,OAAO,EAAkB,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAmB,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,OAAO,CAAqB;gBAExB,OAAO,GAAE,kBAAuB;IAYtC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC;IAmDpC;;;OAGG;IACG,qBAAqB,CACzB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,OAAO,EAAE,IAAI,CAAC,yBAAyB,EAAE,eAAe,CAAC,GACxD,OAAO,CAAC,wBAAwB,CAAC;IA+B9B,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAC1B,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAyBzE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC;QAC/E,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACrF,CAAC;IA0BF,mBAAmB;IAInB,aAAa,CAAC,IAAI,EAAE,MAAM;;;;;;IAIpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;CAG/E"}
1
+ {"version":3,"file":"test-harness.d.ts","sourceRoot":"","sources":["../../src/lib/test-harness.ts"],"names":[],"mappings":";AAAA,OAAO,EAAkB,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAmB,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,OAAO,CAAqB;gBAExB,OAAO,GAAE,kBAAuB;IAYtC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC;IAmDpC;;;OAGG;IACG,qBAAqB,CACzB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,OAAO,EAAE,IAAI,CAAC,yBAAyB,EAAE,eAAe,CAAC,GACxD,OAAO,CAAC,wBAAwB,CAAC;IAgC9B,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAC1B,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAyBzE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC;QAC/E,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACrF,CAAC;IA0BF,mBAAmB;IAInB,aAAa,CAAC,IAAI,EAAE,MAAM;;;;;;IAIpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;CAG/E"}
@@ -99,6 +99,7 @@ class ReactTestHarness {
99
99
  // Create a minimal ComponentSpec for the file
100
100
  const spec = {
101
101
  name: componentName,
102
+ location: 'embedded',
102
103
  code: componentCode,
103
104
  description: `Component loaded from ${filePath}`,
104
105
  title: componentName,
@@ -1 +1 @@
1
- {"version":3,"file":"test-harness.js","sourceRoot":"","sources":["../../src/lib/test-harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-harness.js","sourceRoot":"","sources":["../../src/lib/test-harness.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/react-test-harness",
3
- "version": "2.87.0",
3
+ "version": "2.89.0",
4
4
  "description": "React component test harness for MemberJunction using Playwright",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -22,8 +22,8 @@
22
22
  "typescript": "^5.4.5"
23
23
  },
24
24
  "dependencies": {
25
- "@memberjunction/react-runtime": "^2.87.0",
26
- "@memberjunction/interactive-component-types": "^2.87.0",
25
+ "@memberjunction/react-runtime": "^2.89.0",
26
+ "@memberjunction/interactive-component-types": "^2.89.0",
27
27
  "@playwright/test": "^1.40.0",
28
28
  "playwright": "^1.40.0",
29
29
  "commander": "^11.1.0",