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 +25 -9
- package/dist/index.d.ts +13 -12
- package/dist/index.js +12 -4
- package/dist/lsp.js +12 -4
- package/package.json +4 -4
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]="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.
|
|
39232
|
-
*
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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(
|
|
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=
|
|
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.
|
|
9060
|
-
*
|
|
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`
|
|
9342
|
-
*
|
|
9343
|
-
*
|
|
9344
|
-
*
|
|
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
|
|
9354
|
-
*
|
|
9355
|
-
*
|
|
9356
|
-
*
|
|
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]="
|
|
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.
|
|
36032
|
-
*
|
|
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=
|
|
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.
|
|
36058
|
-
*
|
|
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]="
|
|
45343
|
-
//# debugId=
|
|
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.
|
|
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.
|
|
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/
|
|
79
|
-
"@react-doctor/
|
|
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"
|