react-doctor 0.7.9-dev.21043e0 → 0.7.9-dev.2450582

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]="6f05eada-46fe-5b24-92d8-15fa92a38b00")}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]="c29245d6-1073-542d-91c7-90d62f3911e2")}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";
@@ -39228,8 +39228,10 @@ const isDiagnosticSurface = (value) => typeof value === "string" && DIAGNOSTIC_S
39228
39228
  * to the local CLI so developers see them while editing, but they're
39229
39229
  * removed from the PR comment surface, the score, and the CI gate so
39230
39230
  * they can't bury real React findings or fail a build over a Tailwind
39231
- * shorthand. Override per-surface via `config.surfaces.<surface>` to
39232
- * promote individual rules back in by tag, category, or rule id.
39231
+ * shorthand. Diagnostics from test and story files likewise remain in
39232
+ * raw output while staying out of the production-health score and CI
39233
+ * gate. Override per-surface via `config.surfaces.<surface>` to promote
39234
+ * individual rules back in by tag, category, or rule id.
39233
39235
  */
39234
39236
  const DEFAULT_SURFACE_EXCLUDED_TAGS = {
39235
39237
  cli: [],
@@ -42060,6 +42062,7 @@ const isDiagnosticOnSurface = (diagnostic, surface, config) => {
42060
42062
  if (resolved.includeRuleKeys.has(ruleKey)) return true;
42061
42063
  if (resolved.includeCategories.has(category)) return true;
42062
42064
  if (intersects(tags, resolved.includeTags)) return true;
42065
+ if (diagnostic.fileContext !== void 0 && (surface === "score" || surface === "ciFailure")) return false;
42063
42066
  if (resolved.excludeRuleKeys.has(ruleKey)) return false;
42064
42067
  if (resolved.excludeCategories.has(category)) return false;
42065
42068
  if (intersects(tags, resolved.excludeTags)) return false;
@@ -42484,6 +42487,7 @@ var Git = class Git extends Service()("react-doctor/Git") {
42484
42487
  }
42485
42488
  const diff = yield* runGit(input.directory, [
42486
42489
  "diff",
42490
+ "--no-ext-diff",
42487
42491
  "-z",
42488
42492
  "--name-only",
42489
42493
  "--diff-filter=ACMR",
@@ -42530,6 +42534,7 @@ var Git = class Git extends Service()("react-doctor/Git") {
42530
42534
  if (resolvedCurrentBranch !== null && resolvedCurrentBranch === baseBranch) {
42531
42535
  const uncommitted = yield* runGit(directory, [
42532
42536
  "diff",
42537
+ "--no-ext-diff",
42533
42538
  "-z",
42534
42539
  "--name-only",
42535
42540
  "--diff-filter=ACMR",
@@ -42556,6 +42561,7 @@ var Git = class Git extends Service()("react-doctor/Git") {
42556
42561
  if (mergeBaseRef === null) return null;
42557
42562
  const diff = yield* runGit(directory, [
42558
42563
  "diff",
42564
+ "--no-ext-diff",
42559
42565
  "-z",
42560
42566
  "--name-only",
42561
42567
  "--diff-filter=ACMR",
@@ -42573,6 +42579,7 @@ var Git = class Git extends Service()("react-doctor/Git") {
42573
42579
  }).pipe(withSpan("Git.diffSelection")),
42574
42580
  stagedFilePaths: (directory) => runGit(directory, [
42575
42581
  "diff",
42582
+ "--no-ext-diff",
42576
42583
  "--cached",
42577
42584
  "-z",
42578
42585
  "--name-only",
@@ -42618,6 +42625,7 @@ var Git = class Git extends Service()("react-doctor/Git") {
42618
42625
  if (baseRef !== void 0 && !isSafeGitRevision(baseRef)) return null;
42619
42626
  const result = yield* runGit(directory, [
42620
42627
  "diff",
42628
+ "--no-ext-diff",
42621
42629
  "--unified=0",
42622
42630
  "--diff-filter=ACMR",
42623
42631
  "--relative",
@@ -47215,7 +47223,7 @@ const makeNoopConsole = () => ({
47215
47223
  });
47216
47224
  //#endregion
47217
47225
  //#region src/cli/utils/version.ts
47218
- const VERSION = "0.7.9-dev.21043e0";
47226
+ const VERSION = "0.7.9-dev.2450582";
47219
47227
  //#endregion
47220
47228
  //#region src/cli/utils/json-mode.ts
47221
47229
  let context = null;
@@ -47567,13 +47575,13 @@ const isDevVersion = (version) => version === "0.0.0" || version.includes("-");
47567
47575
  * uploads source-map artifacts under, so stack frames symbolicate. Honors the
47568
47576
  * standard `SENTRY_RELEASE` override.
47569
47577
  */
47570
- const resolveSentryRelease = () => process.env.SENTRY_RELEASE || `react-doctor@0.7.9-dev.21043e0`;
47578
+ const resolveSentryRelease = () => process.env.SENTRY_RELEASE || `react-doctor@0.7.9-dev.2450582`;
47571
47579
  /**
47572
47580
  * Deployment environment shown in Sentry's environment filter. Defaults to
47573
47581
  * `production` for tagged releases and `development` for dev/unbuilt versions,
47574
47582
  * overridable via the standard `SENTRY_ENVIRONMENT` env var.
47575
47583
  */
47576
- const resolveSentryEnvironment = () => process.env.SENTRY_ENVIRONMENT || (isDevVersion("0.7.9-dev.21043e0") ? "development" : "production");
47584
+ const resolveSentryEnvironment = () => process.env.SENTRY_ENVIRONMENT || (isDevVersion("0.7.9-dev.2450582") ? "development" : "production");
47577
47585
  /**
47578
47586
  * Performance-tracing sample rate in `[0, 1]`. Reads `SENTRY_TRACES_SAMPLE_RATE`
47579
47587
  * (set to `0` to disable tracing) and falls back to
@@ -60068,6 +60076,7 @@ const buildOutcomeAttributes = (input) => {
60068
60076
  const summary = summarizeDiagnostics(result.diagnostics);
60069
60077
  const blockingLevel = resolveTelemetryBlocking(input.userConfig);
60070
60078
  const gateDiagnostics = filterDiagnosticsForSurface(result.diagnostics, "ciFailure", input.userConfig);
60079
+ const gateDiagnosticSet = new Set(gateDiagnostics);
60071
60080
  const complete = isInspectResultComplete(result);
60072
60081
  const didLintHardFail = hasLintHardFailure(result);
60073
60082
  const failsOnHardFailure = didLintHardFail && blockingLevel !== "none";
@@ -60090,11 +60099,13 @@ const buildOutcomeAttributes = (input) => {
60090
60099
  const largestRuleBucket = buildRuleBlastRadii(result.diagnostics)[0] ?? null;
60091
60100
  let diagnosticsInTestFiles = 0;
60092
60101
  let diagnosticsInStoryFiles = 0;
60102
+ let nonProductionGateExcluded = 0;
60093
60103
  const diagnosticSiteCounts = /* @__PURE__ */ new Map();
60094
60104
  const findingsPerFixGroup = /* @__PURE__ */ new Map();
60095
60105
  for (const diagnostic of result.diagnostics) {
60096
60106
  if (diagnostic.fileContext === "test") diagnosticsInTestFiles += 1;
60097
60107
  if (diagnostic.fileContext === "story") diagnosticsInStoryFiles += 1;
60108
+ if (diagnostic.fileContext !== void 0 && !gateDiagnosticSet.has(diagnostic)) nonProductionGateExcluded += 1;
60098
60109
  const diagnosticSite = JSON.stringify([
60099
60110
  diagnostic.filePath,
60100
60111
  diagnostic.line,
@@ -60143,6 +60154,7 @@ const buildOutcomeAttributes = (input) => {
60143
60154
  affectedFiles: summary.affectedFileCount,
60144
60155
  inTestFiles: diagnosticsInTestFiles,
60145
60156
  inStoryFiles: diagnosticsInStoryFiles,
60157
+ nonProductionGateExcluded,
60146
60158
  distinctRules: countByRule.size,
60147
60159
  topRule,
60148
60160
  sameSiteOccurrences,
@@ -61982,7 +61994,9 @@ const finalizeAndRender = (input) => gen(function* () {
61982
61994
  yield* log(highlighter.gray(` ${demotedDiagnosticCount} demoted from the ${options.outputSurface} surface (e.g. design cleanup) — run \`npx react-doctor@latest .\` locally for the full list.`));
61983
61995
  yield* log("");
61984
61996
  }
61985
- const potentialScore = score ? yield* promise(() => computeProjectedScore([...printedDiagnostics], [...surfaceDiagnostics], score)) : null;
61997
+ const scoreDiagnostics = filterDiagnosticsForSurface([...diagnostics], "score", userConfig);
61998
+ const displayedScoreDiagnostics = filterDiagnosticsForSurface([...printedDiagnostics], "score", userConfig);
61999
+ const potentialScore = score ? yield* promise(() => computeProjectedScore(displayedScoreDiagnostics, scoreDiagnostics, score)) : null;
61986
62000
  const shouldShowShareLink = !options.noScore && options.share && !options.isCi;
61987
62001
  yield* pause;
61988
62002
  yield* printSummary({
@@ -63883,6 +63897,8 @@ const printMultiProjectSummary = (input) => gen(function* () {
63883
63897
  const categoryFilters = input.categoryFilters ?? /* @__PURE__ */ new Set();
63884
63898
  const animateRender = !verbose && canAnimateOnboarding(process.stdout);
63885
63899
  const displayDiagnostics = filterDiagnosticsByCategories(filterScansForSurface(completedScans, "cli"), categoryFilters);
63900
+ const scoreDiagnostics = new Set(filterScansForSurface(completedScans, "score"));
63901
+ const displayedScoreDiagnostics = displayDiagnostics.filter((diagnostic) => scoreDiagnostics.has(diagnostic));
63886
63902
  const projectRootByDiagnostic = /* @__PURE__ */ new WeakMap();
63887
63903
  for (const scan of completedScans) for (const diagnostic of scan.result.diagnostics) projectRootByDiagnostic.set(diagnostic, scan.result.project.rootDirectory);
63888
63904
  const resolveDiagnosticSourceRoot = (diagnostic) => projectRootByDiagnostic.get(diagnostic) ?? "";
@@ -63906,7 +63922,7 @@ const printMultiProjectSummary = (input) => gen(function* () {
63906
63922
  diagnostics: displayDiagnostics,
63907
63923
  elapsedMilliseconds: totalElapsedMilliseconds,
63908
63924
  scoreResult: aggregateScore,
63909
- potentialScore: lowestScoredScan ? yield* promise(() => computeProjectedScore(displayDiagnostics, filterScansForSurface([lowestScoredScan], "cli"), lowestScoredScan.result.score)) : null,
63925
+ potentialScore: lowestScoredScan ? yield* promise(() => computeProjectedScore(displayedScoreDiagnostics, filterScansForSurface([lowestScoredScan], "score"), lowestScoredScan.result.score)) : null,
63910
63926
  totalSourceFileCount,
63911
63927
  noScoreMessage: "Score unavailable.",
63912
63928
  verbose,
@@ -65851,4 +65867,4 @@ Promise.resolve().then(() => assertNoRemovedFlags(process.argv)).then(() => prog
65851
65867
  export {};
65852
65868
 
65853
65869
  //# sourceMappingURL=cli.js.map
65854
- //# debugId=6f05eada-46fe-5b24-92d8-15fa92a38b00
65870
+ //# debugId=c29245d6-1073-542d-91c7-90d62f3911e2
package/dist/index.d.ts CHANGED
@@ -9056,8 +9056,10 @@ interface ReactDoctorIgnoreConfig {
9056
9056
  *
9057
9057
  * Defaults: design rules (tag `"design"`) are excluded from `prComment`,
9058
9058
  * `score`, and `ciFailure` so style cleanup doesn't dilute meaningful
9059
- * React findings. They remain in `cli` so locally-running developers
9060
- * still see the suggestion when they touch the file.
9059
+ * React findings. Diagnostics stamped with `fileContext: "test" | "story"`
9060
+ * are excluded from `score` and `ciFailure`. Both remain in `cli`, and an
9061
+ * explicit rule, category, or tag include promotes a diagnostic back onto
9062
+ * the selected surface.
9061
9063
  */
9062
9064
  type DiagnosticSurface = "cli" | "prComment" | "score" | "ciFailure";
9063
9065
  /**
@@ -9338,23 +9340,22 @@ interface ReactDoctorConfig {
9338
9340
  */
9339
9341
  adoptExistingLintConfig?: boolean;
9340
9342
  /**
9341
- * Per-surface include/exclude controls. Each `DiagnosticSurface` is
9342
- * resolved independently against rule tags, category, and id so a
9343
- * single rule can be visible locally yet hidden from PR comments,
9344
- * neutralized from the score, and excluded from the CI gate — all
9345
- * without touching the rule's severity or activation.
9343
+ * Per-surface include/exclude controls. Each `DiagnosticSurface` resolves
9344
+ * rule tags, categories, and identifiers independently. This lets you keep a rule
9345
+ * visible locally while hiding it from PR comments, the score, or the CI
9346
+ * gate. These controls don't change rule severity or activation.
9346
9347
  *
9347
9348
  * Defaults (applied before user overrides):
9348
9349
  *
9349
9350
  * - `prComment` excludes tag `"design"`
9350
9351
  * - `score` excludes tag `"design"`
9351
9352
  * - `ciFailure` excludes tag `"design"`
9353
+ * - `score` and `ciFailure` exclude test/story file contexts unless explicitly included
9352
9354
  *
9353
- * Pass any controls block (even an empty `{}`) to keep the default
9354
- * exclusions; the user's include/exclude entries layer on top.
9355
- * Include entries always win over exclude entries — handy for
9356
- * promoting a single high-signal `design-*` rule back into the
9357
- * score or PR-comment surface.
9355
+ * Pass any controls block, including an empty `{}`, to keep the defaults.
9356
+ * Your include/exclude entries layer on top. Includes always win over
9357
+ * excludes. For example, you can promote one high-signal `design-*` rule
9358
+ * back into the score or PR-comment surface.
9358
9359
  */
9359
9360
  surfaces?: Partial<Record<DiagnosticSurface, SurfaceControls>>;
9360
9361
  /**
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]="28287c1c-b7b6-53b8-9e72-7d28d4f3ca45")}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]="a80081fb-3090-5160-8adf-e2652ffe1212")}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 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";
@@ -36028,8 +36028,10 @@ const isDiagnosticSurface = (value) => typeof value === "string" && DIAGNOSTIC_S
36028
36028
  * to the local CLI so developers see them while editing, but they're
36029
36029
  * removed from the PR comment surface, the score, and the CI gate so
36030
36030
  * they can't bury real React findings or fail a build over a Tailwind
36031
- * shorthand. Override per-surface via `config.surfaces.<surface>` to
36032
- * promote individual rules back in by tag, category, or rule id.
36031
+ * shorthand. Diagnostics from test and story files likewise remain in
36032
+ * raw output while staying out of the production-health score and CI
36033
+ * gate. Override per-surface via `config.surfaces.<surface>` to promote
36034
+ * individual rules back in by tag, category, or rule id.
36033
36035
  */
36034
36036
  const DEFAULT_SURFACE_EXCLUDED_TAGS = {
36035
36037
  cli: [],
@@ -38816,6 +38818,7 @@ const isDiagnosticOnSurface = (diagnostic, surface, config) => {
38816
38818
  if (resolved.includeRuleKeys.has(ruleKey)) return true;
38817
38819
  if (resolved.includeCategories.has(category)) return true;
38818
38820
  if (intersects(tags, resolved.includeTags)) return true;
38821
+ if (diagnostic.fileContext !== void 0 && (surface === "score" || surface === "ciFailure")) return false;
38819
38822
  if (resolved.excludeRuleKeys.has(ruleKey)) return false;
38820
38823
  if (resolved.excludeCategories.has(category)) return false;
38821
38824
  if (intersects(tags, resolved.excludeTags)) return false;
@@ -39240,6 +39243,7 @@ var Git = class Git extends Service()("react-doctor/Git") {
39240
39243
  }
39241
39244
  const diff = yield* runGit(input.directory, [
39242
39245
  "diff",
39246
+ "--no-ext-diff",
39243
39247
  "-z",
39244
39248
  "--name-only",
39245
39249
  "--diff-filter=ACMR",
@@ -39286,6 +39290,7 @@ var Git = class Git extends Service()("react-doctor/Git") {
39286
39290
  if (resolvedCurrentBranch !== null && resolvedCurrentBranch === baseBranch) {
39287
39291
  const uncommitted = yield* runGit(directory, [
39288
39292
  "diff",
39293
+ "--no-ext-diff",
39289
39294
  "-z",
39290
39295
  "--name-only",
39291
39296
  "--diff-filter=ACMR",
@@ -39312,6 +39317,7 @@ var Git = class Git extends Service()("react-doctor/Git") {
39312
39317
  if (mergeBaseRef === null) return null;
39313
39318
  const diff = yield* runGit(directory, [
39314
39319
  "diff",
39320
+ "--no-ext-diff",
39315
39321
  "-z",
39316
39322
  "--name-only",
39317
39323
  "--diff-filter=ACMR",
@@ -39329,6 +39335,7 @@ var Git = class Git extends Service()("react-doctor/Git") {
39329
39335
  }).pipe(withSpan("Git.diffSelection")),
39330
39336
  stagedFilePaths: (directory) => runGit(directory, [
39331
39337
  "diff",
39338
+ "--no-ext-diff",
39332
39339
  "--cached",
39333
39340
  "-z",
39334
39341
  "--name-only",
@@ -39374,6 +39381,7 @@ var Git = class Git extends Service()("react-doctor/Git") {
39374
39381
  if (baseRef !== void 0 && !isSafeGitRevision(baseRef)) return null;
39375
39382
  const result = yield* runGit(directory, [
39376
39383
  "diff",
39384
+ "--no-ext-diff",
39377
39385
  "--unified=0",
39378
39386
  "--diff-filter=ACMR",
39379
39387
  "--relative",
@@ -43719,4 +43727,4 @@ const toJsonReport = (result, options) => buildJsonReport({
43719
43727
  export { AmbiguousProjectError, NoReactDependencyError, NotADirectoryError, PackageJsonNotFoundError, ProjectNotFoundError, ReactDoctorError, buildJsonReport, buildJsonReportError, clearCaches, defineConfig, diagnose, filterSourceFiles, getDiffInfo, hasReactRuntime, isProjectDiscoveryError, isReactDoctorError, summarizeDiagnostics, toJsonReport };
43720
43728
 
43721
43729
  //# sourceMappingURL=index.js.map
43722
- //# debugId=28287c1c-b7b6-53b8-9e72-7d28d4f3ca45
43730
+ //# debugId=a80081fb-3090-5160-8adf-e2652ffe1212
package/dist/lsp.js CHANGED
@@ -36054,8 +36054,10 @@ const isDiagnosticSurface = (value) => typeof value === "string" && DIAGNOSTIC_S
36054
36054
  * to the local CLI so developers see them while editing, but they're
36055
36055
  * removed from the PR comment surface, the score, and the CI gate so
36056
36056
  * they can't bury real React findings or fail a build over a Tailwind
36057
- * shorthand. Override per-surface via `config.surfaces.<surface>` to
36058
- * promote individual rules back in by tag, category, or rule id.
36057
+ * shorthand. Diagnostics from test and story files likewise remain in
36058
+ * raw output while staying out of the production-health score and CI
36059
+ * gate. Override per-surface via `config.surfaces.<surface>` to promote
36060
+ * individual rules back in by tag, category, or rule id.
36059
36061
  */
36060
36062
  const DEFAULT_SURFACE_EXCLUDED_TAGS = {
36061
36063
  cli: [],
@@ -38794,6 +38796,7 @@ const isDiagnosticOnSurface = (diagnostic, surface, config) => {
38794
38796
  if (resolved.includeRuleKeys.has(ruleKey)) return true;
38795
38797
  if (resolved.includeCategories.has(category)) return true;
38796
38798
  if (intersects(tags, resolved.includeTags)) return true;
38799
+ if (diagnostic.fileContext !== void 0 && (surface === "score" || surface === "ciFailure")) return false;
38797
38800
  if (resolved.excludeRuleKeys.has(ruleKey)) return false;
38798
38801
  if (resolved.excludeCategories.has(category)) return false;
38799
38802
  if (intersects(tags, resolved.excludeTags)) return false;
@@ -39218,6 +39221,7 @@ var Git = class Git extends Service()("react-doctor/Git") {
39218
39221
  }
39219
39222
  const diff = yield* runGit(input.directory, [
39220
39223
  "diff",
39224
+ "--no-ext-diff",
39221
39225
  "-z",
39222
39226
  "--name-only",
39223
39227
  "--diff-filter=ACMR",
@@ -39264,6 +39268,7 @@ var Git = class Git extends Service()("react-doctor/Git") {
39264
39268
  if (resolvedCurrentBranch !== null && resolvedCurrentBranch === baseBranch) {
39265
39269
  const uncommitted = yield* runGit(directory, [
39266
39270
  "diff",
39271
+ "--no-ext-diff",
39267
39272
  "-z",
39268
39273
  "--name-only",
39269
39274
  "--diff-filter=ACMR",
@@ -39290,6 +39295,7 @@ var Git = class Git extends Service()("react-doctor/Git") {
39290
39295
  if (mergeBaseRef === null) return null;
39291
39296
  const diff = yield* runGit(directory, [
39292
39297
  "diff",
39298
+ "--no-ext-diff",
39293
39299
  "-z",
39294
39300
  "--name-only",
39295
39301
  "--diff-filter=ACMR",
@@ -39307,6 +39313,7 @@ var Git = class Git extends Service()("react-doctor/Git") {
39307
39313
  }).pipe(withSpan("Git.diffSelection")),
39308
39314
  stagedFilePaths: (directory) => runGit(directory, [
39309
39315
  "diff",
39316
+ "--no-ext-diff",
39310
39317
  "--cached",
39311
39318
  "-z",
39312
39319
  "--name-only",
@@ -39352,6 +39359,7 @@ var Git = class Git extends Service()("react-doctor/Git") {
39352
39359
  if (baseRef !== void 0 && !isSafeGitRevision(baseRef)) return null;
39353
39360
  const result = yield* runGit(directory, [
39354
39361
  "diff",
39362
+ "--no-ext-diff",
39355
39363
  "--unified=0",
39356
39364
  "--diff-filter=ACMR",
39357
39365
  "--relative",
@@ -45339,5 +45347,5 @@ const startLanguageServer = () => {
45339
45347
  };
45340
45348
  //#endregion
45341
45349
  export { startLanguageServer };
45342
- !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]="6c89dec9-5fbe-5a2e-b1fe-6b3954e0e85b")}catch(e){}}();
45343
- //# debugId=6c89dec9-5fbe-5a2e-b1fe-6b3954e0e85b
45350
+ !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]="c9d2ed05-185e-5e8c-bab7-8555349d9999")}catch(e){}}();
45351
+ //# debugId=c9d2ed05-185e-5e8c-bab7-8555349d9999
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-doctor",
3
- "version": "0.7.9-dev.21043e0",
3
+ "version": "0.7.9-dev.2450582",
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.7.9",
69
- "oxlint-plugin-react-doctor": "0.7.9-dev.21043e0"
69
+ "oxlint-plugin-react-doctor": "0.7.9-dev.2450582"
70
70
  },
71
71
  "devDependencies": {
72
72
  "@types/babel__code-frame": "^7.27.0",
@@ -75,8 +75,8 @@
75
75
  "commander": "^14.0.3",
76
76
  "ora": "^9.4.0",
77
77
  "@react-doctor/core": "0.7.9",
78
- "@react-doctor/language-server": "0.7.9",
79
- "@react-doctor/api": "0.7.9"
78
+ "@react-doctor/api": "0.7.9",
79
+ "@react-doctor/language-server": "0.7.9"
80
80
  },
81
81
  "engines": {
82
82
  "node": "^20.19.0 || >=22.13.0"