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 +12 -10
- package/dist/index.js +9 -7
- package/dist/lsp.js +9 -7
- package/package.json +2 -2
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]="
|
|
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.
|
|
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.
|
|
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.
|
|
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=
|
|
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]="
|
|
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=
|
|
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]="
|
|
75499
|
-
//# debugId=
|
|
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.
|
|
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.
|
|
69
|
+
"oxlint-plugin-react-doctor": "0.8.3-dev.76263ec"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"@types/babel__code-frame": "^7.27.0",
|