react-doctor 0.6.0 → 0.6.1-dev.f07ee37

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]="a28b8f59-6a38-551a-b87f-c7af571b4588")}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]="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 scanFile = (file) => {
40277
- for (const { entry, scan, committedFilesOnly } of enabledScanRules) for (const finding of scan(file)) {
40278
- if (committedFilesOnly && isFileGitIgnored(file)) continue;
40279
- const diagnostic = buildSecurityScanDiagnostic(finding, entry, file.relativePath);
40280
- const key = `${diagnostic.rule}:${diagnostic.filePath}:${diagnostic.line}:${diagnostic.column}:${diagnostic.message}`;
40281
- if (seen.has(key)) continue;
40282
- seen.add(key);
40283
- diagnostics.push(diagnostic);
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
- scanFile,
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 filesSinceYield = 0;
40295
- for (const file of collectSecurityScanFiles(rootDirectory)) {
40296
- session.scanFile(file);
40297
- filesSinceYield += 1;
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 cacheableResult = await runConfigOverFiles((overrides) => buildConfig({
43281
+ const fullResult = await runConfigOverFiles((overrides) => buildConfig({
43283
43282
  extendsPaths: [],
43284
- ruleSelection: "cacheable",
43285
43283
  disableReactHooksJsPlugin: overrides.disableReactHooksJsPlugin
43286
- }), "oxlintrc.cacheable.json", missFiles, void 0);
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 cacheableResult.diagnostics) {
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 (!cacheableResult.didDropReactHooksJsPlugin && !cacheableResult.hadPartialFailure && isAttributionSound) {
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
- ...cacheableResult.diagnostics,
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.0";
45236
+ const VERSION = "0.6.1-dev.f07ee37";
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.0`;
45605
+ const resolveSentryRelease = () => process.env.SENTRY_RELEASE || `react-doctor@0.6.1-dev.f07ee37`;
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.0") ? "development" : "production");
45611
+ const resolveSentryEnvironment = () => process.env.SENTRY_ENVIRONMENT || (isDevVersion("0.6.1-dev.f07ee37") ? "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=a28b8f59-6a38-551a-b87f-c7af571b4588
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]="62cf4740-7938-5db0-8b80-dc81b60af36a")}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]="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 scanFile = (file) => {
37050
- for (const { entry, scan, committedFilesOnly } of enabledScanRules) for (const finding of scan(file)) {
37051
- if (committedFilesOnly && isFileGitIgnored(file)) continue;
37052
- const diagnostic = buildSecurityScanDiagnostic(finding, entry, file.relativePath);
37053
- const key = `${diagnostic.rule}:${diagnostic.filePath}:${diagnostic.line}:${diagnostic.column}:${diagnostic.message}`;
37054
- if (seen.has(key)) continue;
37055
- seen.add(key);
37056
- diagnostics.push(diagnostic);
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
- scanFile,
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 filesSinceYield = 0;
37068
- for (const file of collectSecurityScanFiles(rootDirectory)) {
37069
- session.scanFile(file);
37070
- filesSinceYield += 1;
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 cacheableResult = await runConfigOverFiles((overrides) => buildConfig({
40038
+ const fullResult = await runConfigOverFiles((overrides) => buildConfig({
40040
40039
  extendsPaths: [],
40041
- ruleSelection: "cacheable",
40042
40040
  disableReactHooksJsPlugin: overrides.disableReactHooksJsPlugin
40043
- }), "oxlintrc.cacheable.json", missFiles, void 0);
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 cacheableResult.diagnostics) {
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 (!cacheableResult.didDropReactHooksJsPlugin && !cacheableResult.hadPartialFailure && isAttributionSound) {
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
- ...cacheableResult.diagnostics,
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=62cf4740-7938-5db0-8b80-dc81b60af36a
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 scanFile = (file) => {
37035
- for (const { entry, scan, committedFilesOnly } of enabledScanRules) for (const finding of scan(file)) {
37036
- if (committedFilesOnly && isFileGitIgnored(file)) continue;
37037
- const diagnostic = buildSecurityScanDiagnostic(finding, entry, file.relativePath);
37038
- const key = `${diagnostic.rule}:${diagnostic.filePath}:${diagnostic.line}:${diagnostic.column}:${diagnostic.message}`;
37039
- if (seen.has(key)) continue;
37040
- seen.add(key);
37041
- diagnostics.push(diagnostic);
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
- scanFile,
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 filesSinceYield = 0;
37053
- for (const file of collectSecurityScanFiles(rootDirectory)) {
37054
- session.scanFile(file);
37055
- filesSinceYield += 1;
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 cacheableResult = await runConfigOverFiles((overrides) => buildConfig({
40023
+ const fullResult = await runConfigOverFiles((overrides) => buildConfig({
40025
40024
  extendsPaths: [],
40026
- ruleSelection: "cacheable",
40027
40025
  disableReactHooksJsPlugin: overrides.disableReactHooksJsPlugin
40028
- }), "oxlintrc.cacheable.json", missFiles, void 0);
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 cacheableResult.diagnostics) {
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 (!cacheableResult.didDropReactHooksJsPlugin && !cacheableResult.hadPartialFailure && isAttributionSound) {
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
- ...cacheableResult.diagnostics,
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.0";
41436
+ const SERVER_VERSION = "0.6.1";
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]="d75c00e3-8628-559b-ac80-d7c571aca1d1")}catch(e){}}();
43486
- //# debugId=d75c00e3-8628-559b-ac80-d7c571aca1d1
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]="f9461e00-d48c-5243-af4c-5196054ec1bc")}catch(e){}}();
43487
+ //# debugId=f9461e00-d48c-5243-af4c-5196054ec1bc
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-doctor",
3
- "version": "0.6.0",
3
+ "version": "0.6.1-dev.f07ee37",
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.0",
69
- "oxlint-plugin-react-doctor": "0.6.0"
68
+ "deslop-js": "0.6.1",
69
+ "oxlint-plugin-react-doctor": "0.6.1-dev.f07ee37"
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/core": "0.6.0",
78
- "@react-doctor/api": "0.6.0",
79
- "@react-doctor/language-server": "0.6.0"
77
+ "@react-doctor/api": "0.6.1",
78
+ "@react-doctor/core": "0.6.1",
79
+ "@react-doctor/language-server": "0.6.1"
80
80
  },
81
81
  "engines": {
82
82
  "node": "^20.19.0 || >=22.13.0"