react-doctor 0.6.1 → 0.6.2-dev.b4faf74
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 +30 -29
- package/dist/index.js +27 -26
- package/dist/lsp.js +28 -27
- package/package.json +6 -6
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]="eb5a21fd-fd10-5eb2-9ce3-11e38406dc1d")}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";
|
|
@@ -40273,32 +40273,31 @@ const createSecurityScanSession = (rootDirectory, options) => {
|
|
|
40273
40273
|
}
|
|
40274
40274
|
return status === true;
|
|
40275
40275
|
};
|
|
40276
|
-
const
|
|
40277
|
-
for (const { entry, scan, committedFilesOnly } of enabledScanRules)
|
|
40278
|
-
|
|
40279
|
-
|
|
40280
|
-
|
|
40281
|
-
|
|
40282
|
-
|
|
40283
|
-
|
|
40276
|
+
const scanFileByRule = function* (file) {
|
|
40277
|
+
for (const { entry, scan, committedFilesOnly } of enabledScanRules) {
|
|
40278
|
+
for (const finding of scan(file)) {
|
|
40279
|
+
if (committedFilesOnly && isFileGitIgnored(file)) continue;
|
|
40280
|
+
const diagnostic = buildSecurityScanDiagnostic(finding, entry, file.relativePath);
|
|
40281
|
+
const key = `${diagnostic.rule}:${diagnostic.filePath}:${diagnostic.line}:${diagnostic.column}:${diagnostic.message}`;
|
|
40282
|
+
if (seen.has(key)) continue;
|
|
40283
|
+
seen.add(key);
|
|
40284
|
+
diagnostics.push(diagnostic);
|
|
40285
|
+
}
|
|
40286
|
+
yield;
|
|
40284
40287
|
}
|
|
40285
40288
|
};
|
|
40286
40289
|
return {
|
|
40287
|
-
|
|
40290
|
+
scanFileByRule,
|
|
40288
40291
|
diagnostics
|
|
40289
40292
|
};
|
|
40290
40293
|
};
|
|
40291
40294
|
const checkSecurityScanCooperative = async (rootDirectory, options = {}) => {
|
|
40292
40295
|
const session = createSecurityScanSession(rootDirectory, options);
|
|
40293
40296
|
if (session === null) return [];
|
|
40294
|
-
let
|
|
40295
|
-
for (const file of collectSecurityScanFiles(rootDirectory)) {
|
|
40296
|
-
|
|
40297
|
-
|
|
40298
|
-
if (filesSinceYield >= 16) {
|
|
40299
|
-
filesSinceYield = 0;
|
|
40300
|
-
await yieldToEventLoop();
|
|
40301
|
-
}
|
|
40297
|
+
let sliceStartedAt = performance.now();
|
|
40298
|
+
for (const file of collectSecurityScanFiles(rootDirectory)) for (const _ruleStep of session.scanFileByRule(file)) if (performance.now() - sliceStartedAt >= 12) {
|
|
40299
|
+
await yieldToEventLoop();
|
|
40300
|
+
sliceStartedAt = performance.now();
|
|
40302
40301
|
}
|
|
40303
40302
|
return session.diagnostics;
|
|
40304
40303
|
};
|
|
@@ -43279,21 +43278,23 @@ const runOxlint = async (options) => {
|
|
|
43279
43278
|
else replayedDiagnostics.push(...cachedDiagnostics);
|
|
43280
43279
|
}
|
|
43281
43280
|
const cacheHitFileCount = candidateFiles.length - missFiles.length;
|
|
43282
|
-
const
|
|
43281
|
+
const fullResult = await runConfigOverFiles((overrides) => buildConfig({
|
|
43283
43282
|
extendsPaths: [],
|
|
43284
|
-
ruleSelection: "cacheable",
|
|
43285
43283
|
disableReactHooksJsPlugin: overrides.disableReactHooksJsPlugin
|
|
43286
|
-
}), "oxlintrc.
|
|
43284
|
+
}), "oxlintrc.full.json", missFiles, options.onFileProgress && ((scannedFileCount) => options.onFileProgress?.(scannedFileCount, candidateFiles.length)));
|
|
43285
|
+
const missFileSet = new Set(missFiles);
|
|
43287
43286
|
const sidecarResult = await runConfigOverFiles(() => buildConfig({
|
|
43288
43287
|
extendsPaths: [],
|
|
43289
43288
|
ruleSelection: "sidecar"
|
|
43290
|
-
}), "oxlintrc.sidecar.json", candidateFiles, options.onFileProgress);
|
|
43289
|
+
}), "oxlintrc.sidecar.json", candidateFiles.filter((candidateFile) => !missFileSet.has(candidateFile)), options.onFileProgress && ((scannedFileCount) => options.onFileProgress?.(missFiles.length + scannedFileCount, candidateFiles.length)));
|
|
43290
|
+
const freshCacheableDiagnostics = [];
|
|
43291
|
+
for (const diagnostic of fullResult.diagnostics) if (!CROSS_FILE_RULE_IDS.has(diagnostic.rule)) freshCacheableDiagnostics.push(diagnostic);
|
|
43291
43292
|
onCacheStats?.(cacheHitFileCount, candidateFiles.length);
|
|
43292
43293
|
const missFileByNormalizedPath = /* @__PURE__ */ new Map();
|
|
43293
43294
|
for (const missFile of missFiles) missFileByNormalizedPath.set(missFile.replaceAll("\\", "/"), missFile);
|
|
43294
43295
|
const freshDiagnosticsByFile = /* @__PURE__ */ new Map();
|
|
43295
43296
|
let isAttributionSound = true;
|
|
43296
|
-
for (const diagnostic of
|
|
43297
|
+
for (const diagnostic of freshCacheableDiagnostics) {
|
|
43297
43298
|
const missFile = missFileByNormalizedPath.get(diagnostic.filePath);
|
|
43298
43299
|
if (missFile === void 0) {
|
|
43299
43300
|
isAttributionSound = false;
|
|
@@ -43303,7 +43304,7 @@ const runOxlint = async (options) => {
|
|
|
43303
43304
|
fileDiagnostics.push(diagnostic);
|
|
43304
43305
|
freshDiagnosticsByFile.set(missFile, fileDiagnostics);
|
|
43305
43306
|
}
|
|
43306
|
-
if (!
|
|
43307
|
+
if (!fullResult.didDropReactHooksJsPlugin && !fullResult.hadPartialFailure && isAttributionSound) {
|
|
43307
43308
|
for (const missFile of missFiles) {
|
|
43308
43309
|
const cacheKey = cacheKeyByFile.get(missFile);
|
|
43309
43310
|
if (cacheKey !== void 0) cache.store(cacheKey, freshDiagnosticsByFile.get(missFile) ?? []);
|
|
@@ -43312,7 +43313,7 @@ const runOxlint = async (options) => {
|
|
|
43312
43313
|
}
|
|
43313
43314
|
return dedupeDiagnostics([
|
|
43314
43315
|
...replayedDiagnostics,
|
|
43315
|
-
...
|
|
43316
|
+
...fullResult.diagnostics,
|
|
43316
43317
|
...sidecarResult.diagnostics
|
|
43317
43318
|
]);
|
|
43318
43319
|
}
|
|
@@ -45232,7 +45233,7 @@ const makeNoopConsole = () => ({
|
|
|
45232
45233
|
});
|
|
45233
45234
|
//#endregion
|
|
45234
45235
|
//#region src/cli/utils/version.ts
|
|
45235
|
-
const VERSION = "0.6.
|
|
45236
|
+
const VERSION = "0.6.2-dev.b4faf74";
|
|
45236
45237
|
//#endregion
|
|
45237
45238
|
//#region src/cli/utils/json-mode.ts
|
|
45238
45239
|
let context = null;
|
|
@@ -45601,13 +45602,13 @@ const isDevVersion = (version) => version === "0.0.0" || version.includes("-");
|
|
|
45601
45602
|
* uploads source-map artifacts under, so stack frames symbolicate. Honors the
|
|
45602
45603
|
* standard `SENTRY_RELEASE` override.
|
|
45603
45604
|
*/
|
|
45604
|
-
const resolveSentryRelease = () => process.env.SENTRY_RELEASE || `react-doctor@0.6.
|
|
45605
|
+
const resolveSentryRelease = () => process.env.SENTRY_RELEASE || `react-doctor@0.6.2-dev.b4faf74`;
|
|
45605
45606
|
/**
|
|
45606
45607
|
* Deployment environment shown in Sentry's environment filter. Defaults to
|
|
45607
45608
|
* `production` for tagged releases and `development` for dev/unbuilt versions,
|
|
45608
45609
|
* overridable via the standard `SENTRY_ENVIRONMENT` env var.
|
|
45609
45610
|
*/
|
|
45610
|
-
const resolveSentryEnvironment = () => process.env.SENTRY_ENVIRONMENT || (isDevVersion("0.6.
|
|
45611
|
+
const resolveSentryEnvironment = () => process.env.SENTRY_ENVIRONMENT || (isDevVersion("0.6.2-dev.b4faf74") ? "development" : "production");
|
|
45611
45612
|
/**
|
|
45612
45613
|
* Performance-tracing sample rate in `[0, 1]`. Reads `SENTRY_TRACES_SAMPLE_RATE`
|
|
45613
45614
|
* (set to `0` to disable tracing) and falls back to
|
|
@@ -63590,4 +63591,4 @@ Promise.resolve().then(() => assertNoRemovedFlags(process.argv)).then(() => prog
|
|
|
63590
63591
|
export {};
|
|
63591
63592
|
|
|
63592
63593
|
//# sourceMappingURL=cli.js.map
|
|
63593
|
-
//# debugId=
|
|
63594
|
+
//# debugId=eb5a21fd-fd10-5eb2-9ce3-11e38406dc1d
|
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]="be2212ec-649e-55f5-a360-fc2eea17659d")}catch(e){}}();
|
|
3
3
|
import { r as __toESM$1, t as __commonJSMin$1 } from "./chunk-N93fKeF6.js";
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
5
|
import * as NFS from "node:fs";
|
|
@@ -37046,32 +37046,31 @@ const createSecurityScanSession = (rootDirectory, options) => {
|
|
|
37046
37046
|
}
|
|
37047
37047
|
return status === true;
|
|
37048
37048
|
};
|
|
37049
|
-
const
|
|
37050
|
-
for (const { entry, scan, committedFilesOnly } of enabledScanRules)
|
|
37051
|
-
|
|
37052
|
-
|
|
37053
|
-
|
|
37054
|
-
|
|
37055
|
-
|
|
37056
|
-
|
|
37049
|
+
const scanFileByRule = function* (file) {
|
|
37050
|
+
for (const { entry, scan, committedFilesOnly } of enabledScanRules) {
|
|
37051
|
+
for (const finding of scan(file)) {
|
|
37052
|
+
if (committedFilesOnly && isFileGitIgnored(file)) continue;
|
|
37053
|
+
const diagnostic = buildSecurityScanDiagnostic(finding, entry, file.relativePath);
|
|
37054
|
+
const key = `${diagnostic.rule}:${diagnostic.filePath}:${diagnostic.line}:${diagnostic.column}:${diagnostic.message}`;
|
|
37055
|
+
if (seen.has(key)) continue;
|
|
37056
|
+
seen.add(key);
|
|
37057
|
+
diagnostics.push(diagnostic);
|
|
37058
|
+
}
|
|
37059
|
+
yield;
|
|
37057
37060
|
}
|
|
37058
37061
|
};
|
|
37059
37062
|
return {
|
|
37060
|
-
|
|
37063
|
+
scanFileByRule,
|
|
37061
37064
|
diagnostics
|
|
37062
37065
|
};
|
|
37063
37066
|
};
|
|
37064
37067
|
const checkSecurityScanCooperative = async (rootDirectory, options = {}) => {
|
|
37065
37068
|
const session = createSecurityScanSession(rootDirectory, options);
|
|
37066
37069
|
if (session === null) return [];
|
|
37067
|
-
let
|
|
37068
|
-
for (const file of collectSecurityScanFiles(rootDirectory)) {
|
|
37069
|
-
|
|
37070
|
-
|
|
37071
|
-
if (filesSinceYield >= 16) {
|
|
37072
|
-
filesSinceYield = 0;
|
|
37073
|
-
await yieldToEventLoop();
|
|
37074
|
-
}
|
|
37070
|
+
let sliceStartedAt = performance.now();
|
|
37071
|
+
for (const file of collectSecurityScanFiles(rootDirectory)) for (const _ruleStep of session.scanFileByRule(file)) if (performance.now() - sliceStartedAt >= 12) {
|
|
37072
|
+
await yieldToEventLoop();
|
|
37073
|
+
sliceStartedAt = performance.now();
|
|
37075
37074
|
}
|
|
37076
37075
|
return session.diagnostics;
|
|
37077
37076
|
};
|
|
@@ -40036,21 +40035,23 @@ const runOxlint = async (options) => {
|
|
|
40036
40035
|
else replayedDiagnostics.push(...cachedDiagnostics);
|
|
40037
40036
|
}
|
|
40038
40037
|
const cacheHitFileCount = candidateFiles.length - missFiles.length;
|
|
40039
|
-
const
|
|
40038
|
+
const fullResult = await runConfigOverFiles((overrides) => buildConfig({
|
|
40040
40039
|
extendsPaths: [],
|
|
40041
|
-
ruleSelection: "cacheable",
|
|
40042
40040
|
disableReactHooksJsPlugin: overrides.disableReactHooksJsPlugin
|
|
40043
|
-
}), "oxlintrc.
|
|
40041
|
+
}), "oxlintrc.full.json", missFiles, options.onFileProgress && ((scannedFileCount) => options.onFileProgress?.(scannedFileCount, candidateFiles.length)));
|
|
40042
|
+
const missFileSet = new Set(missFiles);
|
|
40044
40043
|
const sidecarResult = await runConfigOverFiles(() => buildConfig({
|
|
40045
40044
|
extendsPaths: [],
|
|
40046
40045
|
ruleSelection: "sidecar"
|
|
40047
|
-
}), "oxlintrc.sidecar.json", candidateFiles, options.onFileProgress);
|
|
40046
|
+
}), "oxlintrc.sidecar.json", candidateFiles.filter((candidateFile) => !missFileSet.has(candidateFile)), options.onFileProgress && ((scannedFileCount) => options.onFileProgress?.(missFiles.length + scannedFileCount, candidateFiles.length)));
|
|
40047
|
+
const freshCacheableDiagnostics = [];
|
|
40048
|
+
for (const diagnostic of fullResult.diagnostics) if (!CROSS_FILE_RULE_IDS.has(diagnostic.rule)) freshCacheableDiagnostics.push(diagnostic);
|
|
40048
40049
|
onCacheStats?.(cacheHitFileCount, candidateFiles.length);
|
|
40049
40050
|
const missFileByNormalizedPath = /* @__PURE__ */ new Map();
|
|
40050
40051
|
for (const missFile of missFiles) missFileByNormalizedPath.set(missFile.replaceAll("\\", "/"), missFile);
|
|
40051
40052
|
const freshDiagnosticsByFile = /* @__PURE__ */ new Map();
|
|
40052
40053
|
let isAttributionSound = true;
|
|
40053
|
-
for (const diagnostic of
|
|
40054
|
+
for (const diagnostic of freshCacheableDiagnostics) {
|
|
40054
40055
|
const missFile = missFileByNormalizedPath.get(diagnostic.filePath);
|
|
40055
40056
|
if (missFile === void 0) {
|
|
40056
40057
|
isAttributionSound = false;
|
|
@@ -40060,7 +40061,7 @@ const runOxlint = async (options) => {
|
|
|
40060
40061
|
fileDiagnostics.push(diagnostic);
|
|
40061
40062
|
freshDiagnosticsByFile.set(missFile, fileDiagnostics);
|
|
40062
40063
|
}
|
|
40063
|
-
if (!
|
|
40064
|
+
if (!fullResult.didDropReactHooksJsPlugin && !fullResult.hadPartialFailure && isAttributionSound) {
|
|
40064
40065
|
for (const missFile of missFiles) {
|
|
40065
40066
|
const cacheKey = cacheKeyByFile.get(missFile);
|
|
40066
40067
|
if (cacheKey !== void 0) cache.store(cacheKey, freshDiagnosticsByFile.get(missFile) ?? []);
|
|
@@ -40069,7 +40070,7 @@ const runOxlint = async (options) => {
|
|
|
40069
40070
|
}
|
|
40070
40071
|
return dedupeDiagnostics([
|
|
40071
40072
|
...replayedDiagnostics,
|
|
40072
|
-
...
|
|
40073
|
+
...fullResult.diagnostics,
|
|
40073
40074
|
...sidecarResult.diagnostics
|
|
40074
40075
|
]);
|
|
40075
40076
|
}
|
|
@@ -41758,4 +41759,4 @@ const toJsonReport = (result, options) => buildJsonReport({
|
|
|
41758
41759
|
export { AmbiguousProjectError, NoReactDependencyError, NotADirectoryError, PackageJsonNotFoundError, ProjectNotFoundError, ReactDoctorError, buildJsonReport, buildJsonReportError, clearCaches, defineConfig, diagnose, filterSourceFiles, getDiffInfo, isProjectDiscoveryError, isReactDoctorError, summarizeDiagnostics, toJsonReport };
|
|
41759
41760
|
|
|
41760
41761
|
//# sourceMappingURL=index.js.map
|
|
41761
|
-
//# debugId=
|
|
41762
|
+
//# debugId=be2212ec-649e-55f5-a360-fc2eea17659d
|
package/dist/lsp.js
CHANGED
|
@@ -37031,32 +37031,31 @@ const createSecurityScanSession = (rootDirectory, options) => {
|
|
|
37031
37031
|
}
|
|
37032
37032
|
return status === true;
|
|
37033
37033
|
};
|
|
37034
|
-
const
|
|
37035
|
-
for (const { entry, scan, committedFilesOnly } of enabledScanRules)
|
|
37036
|
-
|
|
37037
|
-
|
|
37038
|
-
|
|
37039
|
-
|
|
37040
|
-
|
|
37041
|
-
|
|
37034
|
+
const scanFileByRule = function* (file) {
|
|
37035
|
+
for (const { entry, scan, committedFilesOnly } of enabledScanRules) {
|
|
37036
|
+
for (const finding of scan(file)) {
|
|
37037
|
+
if (committedFilesOnly && isFileGitIgnored(file)) continue;
|
|
37038
|
+
const diagnostic = buildSecurityScanDiagnostic(finding, entry, file.relativePath);
|
|
37039
|
+
const key = `${diagnostic.rule}:${diagnostic.filePath}:${diagnostic.line}:${diagnostic.column}:${diagnostic.message}`;
|
|
37040
|
+
if (seen.has(key)) continue;
|
|
37041
|
+
seen.add(key);
|
|
37042
|
+
diagnostics.push(diagnostic);
|
|
37043
|
+
}
|
|
37044
|
+
yield;
|
|
37042
37045
|
}
|
|
37043
37046
|
};
|
|
37044
37047
|
return {
|
|
37045
|
-
|
|
37048
|
+
scanFileByRule,
|
|
37046
37049
|
diagnostics
|
|
37047
37050
|
};
|
|
37048
37051
|
};
|
|
37049
37052
|
const checkSecurityScanCooperative = async (rootDirectory, options = {}) => {
|
|
37050
37053
|
const session = createSecurityScanSession(rootDirectory, options);
|
|
37051
37054
|
if (session === null) return [];
|
|
37052
|
-
let
|
|
37053
|
-
for (const file of collectSecurityScanFiles(rootDirectory)) {
|
|
37054
|
-
|
|
37055
|
-
|
|
37056
|
-
if (filesSinceYield >= 16) {
|
|
37057
|
-
filesSinceYield = 0;
|
|
37058
|
-
await yieldToEventLoop();
|
|
37059
|
-
}
|
|
37055
|
+
let sliceStartedAt = performance.now();
|
|
37056
|
+
for (const file of collectSecurityScanFiles(rootDirectory)) for (const _ruleStep of session.scanFileByRule(file)) if (performance.now() - sliceStartedAt >= 12) {
|
|
37057
|
+
await yieldToEventLoop();
|
|
37058
|
+
sliceStartedAt = performance.now();
|
|
37060
37059
|
}
|
|
37061
37060
|
return session.diagnostics;
|
|
37062
37061
|
};
|
|
@@ -40021,21 +40020,23 @@ const runOxlint = async (options) => {
|
|
|
40021
40020
|
else replayedDiagnostics.push(...cachedDiagnostics);
|
|
40022
40021
|
}
|
|
40023
40022
|
const cacheHitFileCount = candidateFiles.length - missFiles.length;
|
|
40024
|
-
const
|
|
40023
|
+
const fullResult = await runConfigOverFiles((overrides) => buildConfig({
|
|
40025
40024
|
extendsPaths: [],
|
|
40026
|
-
ruleSelection: "cacheable",
|
|
40027
40025
|
disableReactHooksJsPlugin: overrides.disableReactHooksJsPlugin
|
|
40028
|
-
}), "oxlintrc.
|
|
40026
|
+
}), "oxlintrc.full.json", missFiles, options.onFileProgress && ((scannedFileCount) => options.onFileProgress?.(scannedFileCount, candidateFiles.length)));
|
|
40027
|
+
const missFileSet = new Set(missFiles);
|
|
40029
40028
|
const sidecarResult = await runConfigOverFiles(() => buildConfig({
|
|
40030
40029
|
extendsPaths: [],
|
|
40031
40030
|
ruleSelection: "sidecar"
|
|
40032
|
-
}), "oxlintrc.sidecar.json", candidateFiles, options.onFileProgress);
|
|
40031
|
+
}), "oxlintrc.sidecar.json", candidateFiles.filter((candidateFile) => !missFileSet.has(candidateFile)), options.onFileProgress && ((scannedFileCount) => options.onFileProgress?.(missFiles.length + scannedFileCount, candidateFiles.length)));
|
|
40032
|
+
const freshCacheableDiagnostics = [];
|
|
40033
|
+
for (const diagnostic of fullResult.diagnostics) if (!CROSS_FILE_RULE_IDS.has(diagnostic.rule)) freshCacheableDiagnostics.push(diagnostic);
|
|
40033
40034
|
onCacheStats?.(cacheHitFileCount, candidateFiles.length);
|
|
40034
40035
|
const missFileByNormalizedPath = /* @__PURE__ */ new Map();
|
|
40035
40036
|
for (const missFile of missFiles) missFileByNormalizedPath.set(missFile.replaceAll("\\", "/"), missFile);
|
|
40036
40037
|
const freshDiagnosticsByFile = /* @__PURE__ */ new Map();
|
|
40037
40038
|
let isAttributionSound = true;
|
|
40038
|
-
for (const diagnostic of
|
|
40039
|
+
for (const diagnostic of freshCacheableDiagnostics) {
|
|
40039
40040
|
const missFile = missFileByNormalizedPath.get(diagnostic.filePath);
|
|
40040
40041
|
if (missFile === void 0) {
|
|
40041
40042
|
isAttributionSound = false;
|
|
@@ -40045,7 +40046,7 @@ const runOxlint = async (options) => {
|
|
|
40045
40046
|
fileDiagnostics.push(diagnostic);
|
|
40046
40047
|
freshDiagnosticsByFile.set(missFile, fileDiagnostics);
|
|
40047
40048
|
}
|
|
40048
|
-
if (!
|
|
40049
|
+
if (!fullResult.didDropReactHooksJsPlugin && !fullResult.hadPartialFailure && isAttributionSound) {
|
|
40049
40050
|
for (const missFile of missFiles) {
|
|
40050
40051
|
const cacheKey = cacheKeyByFile.get(missFile);
|
|
40051
40052
|
if (cacheKey !== void 0) cache.store(cacheKey, freshDiagnosticsByFile.get(missFile) ?? []);
|
|
@@ -40054,7 +40055,7 @@ const runOxlint = async (options) => {
|
|
|
40054
40055
|
}
|
|
40055
40056
|
return dedupeDiagnostics([
|
|
40056
40057
|
...replayedDiagnostics,
|
|
40057
|
-
...
|
|
40058
|
+
...fullResult.diagnostics,
|
|
40058
40059
|
...sidecarResult.diagnostics
|
|
40059
40060
|
]);
|
|
40060
40061
|
}
|
|
@@ -41432,7 +41433,7 @@ const computeConfigFingerprint = (projectDirectory, version) => {
|
|
|
41432
41433
|
/** Display name used in client-facing messages and progress titles. */
|
|
41433
41434
|
const SERVER_DISPLAY_NAME = "React Doctor";
|
|
41434
41435
|
/** Server version reported in `serverInfo`; injected at build, `dev` from source. */
|
|
41435
|
-
const SERVER_VERSION = "0.6.
|
|
41436
|
+
const SERVER_VERSION = "0.6.2";
|
|
41436
41437
|
/** `Diagnostic.source` shown next to every published diagnostic. */
|
|
41437
41438
|
const DIAGNOSTIC_SOURCE = "react-doctor";
|
|
41438
41439
|
/**
|
|
@@ -43482,5 +43483,5 @@ const startLanguageServer = () => {
|
|
|
43482
43483
|
};
|
|
43483
43484
|
//#endregion
|
|
43484
43485
|
export { startLanguageServer };
|
|
43485
|
-
!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]="
|
|
43486
|
-
//# debugId=
|
|
43486
|
+
!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]="9ba45115-9e66-529f-a5b1-8a80c03af114")}catch(e){}}();
|
|
43487
|
+
//# debugId=9ba45115-9e66-529f-a5b1-8a80c03af114
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-doctor",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.2-dev.b4faf74",
|
|
4
4
|
"description": "Your agent writes bad React. This catches it",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"accessibility",
|
|
@@ -65,8 +65,8 @@
|
|
|
65
65
|
"vscode-languageserver-textdocument": "^1.0.12",
|
|
66
66
|
"vscode-uri": "^3.1.0",
|
|
67
67
|
"yaml": "^2.9.0",
|
|
68
|
-
"deslop-js": "0.6.
|
|
69
|
-
"oxlint-plugin-react-doctor": "0.6.
|
|
68
|
+
"deslop-js": "0.6.2",
|
|
69
|
+
"oxlint-plugin-react-doctor": "0.6.2-dev.b4faf74"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"@types/babel__code-frame": "^7.27.0",
|
|
@@ -74,9 +74,9 @@
|
|
|
74
74
|
"@xterm/headless": "^6.0.0",
|
|
75
75
|
"commander": "^14.0.3",
|
|
76
76
|
"ora": "^9.4.0",
|
|
77
|
-
"@react-doctor/
|
|
78
|
-
"@react-doctor/
|
|
79
|
-
"@react-doctor/language-server": "0.6.
|
|
77
|
+
"@react-doctor/core": "0.6.2",
|
|
78
|
+
"@react-doctor/api": "0.6.2",
|
|
79
|
+
"@react-doctor/language-server": "0.6.2"
|
|
80
80
|
},
|
|
81
81
|
"engines": {
|
|
82
82
|
"node": "^20.19.0 || >=22.13.0"
|