react-doctor 0.8.3-dev.3d7ea66 → 0.8.3-dev.76263ec

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="729213e0-f120-5159-8212-e0a881c2cf17")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="81e6305d-aa88-52f6-82ff-ac652d90107a")}catch(e){}}();
3
3
  import { createRequire } from "node:module";
4
4
  import * as NodeChildProcess from "node:child_process";
5
5
  import { execFile, execFileSync, spawn, spawnSync } from "node:child_process";
@@ -65707,18 +65707,20 @@ const getReactCompilerFlagState = (expression, analysis) => {
65707
65707
  }
65708
65708
  return null;
65709
65709
  };
65710
- const getSelectedObjectProperty = (expression, propertyName, analysis) => {
65710
+ const getSelectedObjectProperty = (expression, propertyName, analysis, visitedExpressions = /* @__PURE__ */ new Set()) => {
65711
65711
  let resolvedExpression = expression;
65712
65712
  while (ts.isParenthesizedExpression(resolvedExpression) || ts.isAsExpression(resolvedExpression) || ts.isTypeAssertionExpression(resolvedExpression) || ts.isSatisfiesExpression(resolvedExpression) || ts.isNonNullExpression(resolvedExpression)) resolvedExpression = resolvedExpression.expression;
65713
+ if (visitedExpressions.has(resolvedExpression)) return null;
65714
+ visitedExpressions.add(resolvedExpression);
65713
65715
  if (ts.isIdentifier(resolvedExpression)) {
65714
65716
  if (analysis.localBindings.has(resolvedExpression.text)) {
65715
65717
  const localInitializer = analysis.localBindings.get(resolvedExpression.text);
65716
- return localInitializer ? getSelectedObjectProperty(localInitializer, propertyName, analysis) : null;
65718
+ return localInitializer ? getSelectedObjectProperty(localInitializer, propertyName, analysis, visitedExpressions) : null;
65717
65719
  }
65718
65720
  const scopedBinding = getScopedConfigBinding(resolvedExpression);
65719
- if (scopedBinding.wasFound) return scopedBinding.initializer ? getSelectedObjectProperty(scopedBinding.initializer, propertyName, analysis) : null;
65721
+ if (scopedBinding.wasFound) return scopedBinding.initializer ? getSelectedObjectProperty(scopedBinding.initializer, propertyName, analysis, visitedExpressions) : null;
65720
65722
  const topLevelBinding = getTopLevelBinding(analysis.sourceFile, resolvedExpression.text);
65721
- return topLevelBinding && ts.isExpression(topLevelBinding) ? getSelectedObjectProperty(topLevelBinding, propertyName, analysis) : null;
65723
+ return topLevelBinding && ts.isExpression(topLevelBinding) ? getSelectedObjectProperty(topLevelBinding, propertyName, analysis, visitedExpressions) : null;
65722
65724
  }
65723
65725
  if (!ts.isObjectLiteralExpression(resolvedExpression)) return null;
65724
65726
  for (const property of [...resolvedExpression.properties].reverse()) {
@@ -65726,7 +65728,7 @@ const getSelectedObjectProperty = (expression, propertyName, analysis) => {
65726
65728
  if (ts.isMethodDeclaration(property) && getStaticPropertyName$1(property.name) === propertyName) return property;
65727
65729
  if (ts.isShorthandPropertyAssignment(property) && property.name.text === propertyName) return property.name;
65728
65730
  if (ts.isSpreadAssignment(property)) {
65729
- const spreadProperty = getSelectedObjectProperty(property.expression, propertyName, analysis);
65731
+ const spreadProperty = getSelectedObjectProperty(property.expression, propertyName, analysis, visitedExpressions);
65730
65732
  if (spreadProperty) return spreadProperty;
65731
65733
  }
65732
65734
  }
@@ -77398,7 +77400,7 @@ const makeNoopConsole = () => ({
77398
77400
  });
77399
77401
  //#endregion
77400
77402
  //#region src/cli/utils/version.ts
77401
- const VERSION = "0.8.3-dev.3d7ea66";
77403
+ const VERSION = "0.8.3-dev.76263ec";
77402
77404
  //#endregion
77403
77405
  //#region src/cli/utils/json-mode.ts
77404
77406
  let context = null;
@@ -77756,13 +77758,13 @@ const isDevVersion = (version) => version === "0.0.0" || version.includes("-");
77756
77758
  * uploads source-map artifacts under, so stack frames symbolicate. Honors the
77757
77759
  * standard `SENTRY_RELEASE` override.
77758
77760
  */
77759
- const resolveSentryRelease = () => process.env.SENTRY_RELEASE || `react-doctor@0.8.3-dev.3d7ea66`;
77761
+ const resolveSentryRelease = () => process.env.SENTRY_RELEASE || `react-doctor@0.8.3-dev.76263ec`;
77760
77762
  /**
77761
77763
  * Deployment environment shown in Sentry's environment filter. Defaults to
77762
77764
  * `production` for tagged releases and `development` for dev/unbuilt versions,
77763
77765
  * overridable via the standard `SENTRY_ENVIRONMENT` env var.
77764
77766
  */
77765
- const resolveSentryEnvironment = () => process.env.SENTRY_ENVIRONMENT || (isDevVersion("0.8.3-dev.3d7ea66") ? "development" : "production");
77767
+ const resolveSentryEnvironment = () => process.env.SENTRY_ENVIRONMENT || (isDevVersion("0.8.3-dev.76263ec") ? "development" : "production");
77766
77768
  /**
77767
77769
  * Performance-tracing sample rate in `[0, 1]`. Reads `SENTRY_TRACES_SAMPLE_RATE`
77768
77770
  * (set to `0` to disable tracing) and falls back to
@@ -96483,4 +96485,4 @@ Promise.resolve().then(() => assertNoRemovedFlags(process.argv)).then(() => prog
96483
96485
  export {};
96484
96486
 
96485
96487
  //# sourceMappingURL=cli.js.map
96486
- //# debugId=729213e0-f120-5159-8212-e0a881c2cf17
96488
+ //# debugId=81e6305d-aa88-52f6-82ff-ac652d90107a
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="cf84418d-5713-5c93-95cf-6a6747b9f247")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="4b0e44db-b753-5cee-b79d-4976faf0c4cb")}catch(e){}}();
3
3
  import { i as __toESM$1, r as __require, t as __commonJSMin$1 } from "./chunk-ChKA3wi6.js";
4
4
  import { createRequire } from "node:module";
5
5
  import reactDoctorPlugin, { ALL_REACT_DOCTOR_RULE_KEYS, CROSS_FILE_DEPENDENCY_COLLECTORS, CROSS_FILE_RULE_IDS, FRAMEWORK_SPECIFIC_RULE_KEYS, FRAMEWORK_TOKENS, MOTION_LIBRARY_PACKAGES, REACT_COMPILER_RULES, REACT_DOCTOR_RULES, classifySecurityScanFile, collectCrossFileDependencyProbes, resetManifestCaches, shouldReadSecurityScanContent } from "oxlint-plugin-react-doctor";
@@ -62511,18 +62511,20 @@ const getReactCompilerFlagState = (expression, analysis) => {
62511
62511
  }
62512
62512
  return null;
62513
62513
  };
62514
- const getSelectedObjectProperty = (expression, propertyName, analysis) => {
62514
+ const getSelectedObjectProperty = (expression, propertyName, analysis, visitedExpressions = /* @__PURE__ */ new Set()) => {
62515
62515
  let resolvedExpression = expression;
62516
62516
  while (ts.isParenthesizedExpression(resolvedExpression) || ts.isAsExpression(resolvedExpression) || ts.isTypeAssertionExpression(resolvedExpression) || ts.isSatisfiesExpression(resolvedExpression) || ts.isNonNullExpression(resolvedExpression)) resolvedExpression = resolvedExpression.expression;
62517
+ if (visitedExpressions.has(resolvedExpression)) return null;
62518
+ visitedExpressions.add(resolvedExpression);
62517
62519
  if (ts.isIdentifier(resolvedExpression)) {
62518
62520
  if (analysis.localBindings.has(resolvedExpression.text)) {
62519
62521
  const localInitializer = analysis.localBindings.get(resolvedExpression.text);
62520
- return localInitializer ? getSelectedObjectProperty(localInitializer, propertyName, analysis) : null;
62522
+ return localInitializer ? getSelectedObjectProperty(localInitializer, propertyName, analysis, visitedExpressions) : null;
62521
62523
  }
62522
62524
  const scopedBinding = getScopedConfigBinding(resolvedExpression);
62523
- if (scopedBinding.wasFound) return scopedBinding.initializer ? getSelectedObjectProperty(scopedBinding.initializer, propertyName, analysis) : null;
62525
+ if (scopedBinding.wasFound) return scopedBinding.initializer ? getSelectedObjectProperty(scopedBinding.initializer, propertyName, analysis, visitedExpressions) : null;
62524
62526
  const topLevelBinding = getTopLevelBinding(analysis.sourceFile, resolvedExpression.text);
62525
- return topLevelBinding && ts.isExpression(topLevelBinding) ? getSelectedObjectProperty(topLevelBinding, propertyName, analysis) : null;
62527
+ return topLevelBinding && ts.isExpression(topLevelBinding) ? getSelectedObjectProperty(topLevelBinding, propertyName, analysis, visitedExpressions) : null;
62526
62528
  }
62527
62529
  if (!ts.isObjectLiteralExpression(resolvedExpression)) return null;
62528
62530
  for (const property of [...resolvedExpression.properties].reverse()) {
@@ -62530,7 +62532,7 @@ const getSelectedObjectProperty = (expression, propertyName, analysis) => {
62530
62532
  if (ts.isMethodDeclaration(property) && getStaticPropertyName$1(property.name) === propertyName) return property;
62531
62533
  if (ts.isShorthandPropertyAssignment(property) && property.name.text === propertyName) return property.name;
62532
62534
  if (ts.isSpreadAssignment(property)) {
62533
- const spreadProperty = getSelectedObjectProperty(property.expression, propertyName, analysis);
62535
+ const spreadProperty = getSelectedObjectProperty(property.expression, propertyName, analysis, visitedExpressions);
62534
62536
  if (spreadProperty) return spreadProperty;
62535
62537
  }
62536
62538
  }
@@ -73874,4 +73876,4 @@ const toJsonReport = (result, options) => buildJsonReport({
73874
73876
  export { AmbiguousProjectError, NoReactDependencyError, NotADirectoryError, PackageJsonNotFoundError, ProjectNotFoundError, ReactDoctorError, buildJsonReport, buildJsonReportError, clearCaches, defineConfig, diagnose, filterSourceFiles, getDiffInfo, hasReactRuntime, isProjectDiscoveryError, isReactDoctorError, summarizeDiagnostics, toJsonReport };
73875
73877
 
73876
73878
  //# sourceMappingURL=index.js.map
73877
- //# debugId=cf84418d-5713-5c93-95cf-6a6747b9f247
73879
+ //# debugId=4b0e44db-b753-5cee-b79d-4976faf0c4cb
package/dist/lsp.js CHANGED
@@ -62564,18 +62564,20 @@ const getReactCompilerFlagState = (expression, analysis) => {
62564
62564
  }
62565
62565
  return null;
62566
62566
  };
62567
- const getSelectedObjectProperty = (expression, propertyName, analysis) => {
62567
+ const getSelectedObjectProperty = (expression, propertyName, analysis, visitedExpressions = /* @__PURE__ */ new Set()) => {
62568
62568
  let resolvedExpression = expression;
62569
62569
  while (ts.isParenthesizedExpression(resolvedExpression) || ts.isAsExpression(resolvedExpression) || ts.isTypeAssertionExpression(resolvedExpression) || ts.isSatisfiesExpression(resolvedExpression) || ts.isNonNullExpression(resolvedExpression)) resolvedExpression = resolvedExpression.expression;
62570
+ if (visitedExpressions.has(resolvedExpression)) return null;
62571
+ visitedExpressions.add(resolvedExpression);
62570
62572
  if (ts.isIdentifier(resolvedExpression)) {
62571
62573
  if (analysis.localBindings.has(resolvedExpression.text)) {
62572
62574
  const localInitializer = analysis.localBindings.get(resolvedExpression.text);
62573
- return localInitializer ? getSelectedObjectProperty(localInitializer, propertyName, analysis) : null;
62575
+ return localInitializer ? getSelectedObjectProperty(localInitializer, propertyName, analysis, visitedExpressions) : null;
62574
62576
  }
62575
62577
  const scopedBinding = getScopedConfigBinding(resolvedExpression);
62576
- if (scopedBinding.wasFound) return scopedBinding.initializer ? getSelectedObjectProperty(scopedBinding.initializer, propertyName, analysis) : null;
62578
+ if (scopedBinding.wasFound) return scopedBinding.initializer ? getSelectedObjectProperty(scopedBinding.initializer, propertyName, analysis, visitedExpressions) : null;
62577
62579
  const topLevelBinding = getTopLevelBinding(analysis.sourceFile, resolvedExpression.text);
62578
- return topLevelBinding && ts.isExpression(topLevelBinding) ? getSelectedObjectProperty(topLevelBinding, propertyName, analysis) : null;
62580
+ return topLevelBinding && ts.isExpression(topLevelBinding) ? getSelectedObjectProperty(topLevelBinding, propertyName, analysis, visitedExpressions) : null;
62579
62581
  }
62580
62582
  if (!ts.isObjectLiteralExpression(resolvedExpression)) return null;
62581
62583
  for (const property of [...resolvedExpression.properties].reverse()) {
@@ -62583,7 +62585,7 @@ const getSelectedObjectProperty = (expression, propertyName, analysis) => {
62583
62585
  if (ts.isMethodDeclaration(property) && getStaticPropertyName$1(property.name) === propertyName) return property;
62584
62586
  if (ts.isShorthandPropertyAssignment(property) && property.name.text === propertyName) return property.name;
62585
62587
  if (ts.isSpreadAssignment(property)) {
62586
- const spreadProperty = getSelectedObjectProperty(property.expression, propertyName, analysis);
62588
+ const spreadProperty = getSelectedObjectProperty(property.expression, propertyName, analysis, visitedExpressions);
62587
62589
  if (spreadProperty) return spreadProperty;
62588
62590
  }
62589
62591
  }
@@ -75495,5 +75497,5 @@ const startLanguageServer = () => {
75495
75497
  };
75496
75498
  //#endregion
75497
75499
  export { startLanguageServer };
75498
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="97b31424-577f-5b74-ac26-46212d2f1aaf")}catch(e){}}();
75499
- //# debugId=97b31424-577f-5b74-ac26-46212d2f1aaf
75500
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="efdb823c-9e83-5162-be2f-a67125fce48a")}catch(e){}}();
75501
+ //# debugId=efdb823c-9e83-5162-be2f-a67125fce48a
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-doctor",
3
- "version": "0.8.3-dev.3d7ea66",
3
+ "version": "0.8.3-dev.76263ec",
4
4
  "description": "Your agent writes bad React. This catches it",
5
5
  "keywords": [
6
6
  "accessibility",
@@ -66,7 +66,7 @@
66
66
  "vscode-uri": "^3.1.0",
67
67
  "yaml": "^2.9.0",
68
68
  "deslop-js": "0.8.3",
69
- "oxlint-plugin-react-doctor": "0.8.3-dev.3d7ea66"
69
+ "oxlint-plugin-react-doctor": "0.8.3-dev.76263ec"
70
70
  },
71
71
  "devDependencies": {
72
72
  "@types/babel__code-frame": "^7.27.0",