react-doctor 0.8.2 → 0.8.3

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/README.md CHANGED
@@ -27,17 +27,7 @@ npx react-doctor@latest
27
27
 
28
28
  https://github.com/user-attachments/assets/07cc88d9-9589-44c3-aa73-5d603cb1c570
29
29
 
30
- ### 2. Run a focused design audit
31
-
32
- Use the design command when you only want UI composition, typography, interaction, accessibility, and motion findings:
33
-
34
- ```bash
35
- npx react-doctor@latest design
36
- ```
37
-
38
- This activates the complete design rule family, including focused rules that stay opt-in during a general health scan, and skips unrelated dead-code, supply-chain, custom-plugin, and health-score passes. It accepts the normal scan flags, including `--scope`, `--project`, `--verbose`, and `--json`.
39
-
40
- ### 3. Install for agents
30
+ ### 2. Install for agents
41
31
 
42
32
  Once you have an audit, you can install the skill for your coding agent to learn from the issues and fix them in the future.
43
33
 
@@ -47,7 +37,7 @@ npx react-doctor@latest install
47
37
 
48
38
  Works with Claude Code, Cursor, Codex, OpenCode, and many more.
49
39
 
50
- ### 4. Run in CI
40
+ ### 3. Run in CI
51
41
 
52
42
  React Doctor reviews every pull request and reports only the issues your change introduced, not your existing backlog. Set it up with one command:
53
43
 
@@ -59,20 +49,12 @@ This adds the workflow, scans every pull request, and posts a summary comment. C
59
49
 
60
50
  [CI docs →](https://react.doctor/ci)
61
51
 
62
- ### 5. Configure rules
52
+ ### 4. Configure rules
63
53
 
64
54
  You can configure which rules to run and how to run them in `doctor.config.ts`.
65
55
 
66
56
  [Learn more →](https://react.doctor/docs/configuration/config-files)
67
57
 
68
- ### 6. Consume JSON
69
-
70
- Use `--json` for stdout or `--json-out <path>` for a file. The default
71
- `schemaVersion: 3` report includes deterministic diagnostic IDs and exact
72
- per-project scan coverage.
73
-
74
- [JSON report contract →](./docs/json-report.md)
75
-
76
58
  ## Telemetry
77
59
 
78
60
  The CLI reports crashes, basic run traces, and anonymous usage counters to [Sentry](https://sentry.io/) to help us fix bugs and prioritize work.
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]="d5409106-40c9-567e-8099-f25e0a9b48d4")}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]="0dac14aa-8d32-5d22-8e5e-1d8d793e05c0")}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";
@@ -64979,7 +64979,7 @@ const SOCKET_FREE_USER_AGENT = "react-doctor-supply-chain";
64979
64979
  const FILE_LINT_CACHE_FILENAME = "file-lint-cache.json";
64980
64980
  const FILE_LINT_CACHE_MAX_FILE_COUNT = 5e4;
64981
64981
  const SIDECAR_LINT_CACHE_FILENAME = "sidecar-lint-cache.json";
64982
- const CORE_PACKAGE_VERSION = "0.8.2";
64982
+ const CORE_PACKAGE_VERSION = "0.8.3";
64983
64983
  const DEAD_CODE_CACHE_FILENAME = "dead-code-cache.json";
64984
64984
  const DEAD_CODE_SUMMARY_CACHE_FILENAME = "dead-code-summaries.json";
64985
64985
  const SUPPLY_CHAIN_PLUGIN = "socket";
@@ -77391,7 +77391,7 @@ const makeNoopConsole = () => ({
77391
77391
  });
77392
77392
  //#endregion
77393
77393
  //#region src/cli/utils/version.ts
77394
- const VERSION = "0.8.2";
77394
+ const VERSION = "0.8.3";
77395
77395
  //#endregion
77396
77396
  //#region src/cli/utils/json-mode.ts
77397
77397
  let context = null;
@@ -77749,13 +77749,13 @@ const isDevVersion = (version) => version === "0.0.0" || version.includes("-");
77749
77749
  * uploads source-map artifacts under, so stack frames symbolicate. Honors the
77750
77750
  * standard `SENTRY_RELEASE` override.
77751
77751
  */
77752
- const resolveSentryRelease = () => process.env.SENTRY_RELEASE || `react-doctor@0.8.2`;
77752
+ const resolveSentryRelease = () => process.env.SENTRY_RELEASE || `react-doctor@0.8.3`;
77753
77753
  /**
77754
77754
  * Deployment environment shown in Sentry's environment filter. Defaults to
77755
77755
  * `production` for tagged releases and `development` for dev/unbuilt versions,
77756
77756
  * overridable via the standard `SENTRY_ENVIRONMENT` env var.
77757
77757
  */
77758
- const resolveSentryEnvironment = () => process.env.SENTRY_ENVIRONMENT || (isDevVersion("0.8.2") ? "development" : "production");
77758
+ const resolveSentryEnvironment = () => process.env.SENTRY_ENVIRONMENT || (isDevVersion("0.8.3") ? "development" : "production");
77759
77759
  /**
77760
77760
  * Performance-tracing sample rate in `[0, 1]`. Reads `SENTRY_TRACES_SAMPLE_RATE`
77761
77761
  * (set to `0` to disable tracing) and falls back to
@@ -96476,4 +96476,4 @@ Promise.resolve().then(() => assertNoRemovedFlags(process.argv)).then(() => prog
96476
96476
  export {};
96477
96477
 
96478
96478
  //# sourceMappingURL=cli.js.map
96479
- //# debugId=d5409106-40c9-567e-8099-f25e0a9b48d4
96479
+ //# debugId=0dac14aa-8d32-5d22-8e5e-1d8d793e05c0
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]="c9b50d38-1251-547e-8985-91c7948c205c")}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]="7220ef23-bb78-5d51-b8a0-e8a54b69181e")}catch(e){}}();
3
3
  import { i as __toESM$1, r as __require, t as __commonJSMin$1 } from "./chunk-ChKA3wi6.js";
4
4
  import { createRequire } from "node:module";
5
5
  import reactDoctorPlugin, { ALL_REACT_DOCTOR_RULE_KEYS, CROSS_FILE_DEPENDENCY_COLLECTORS, CROSS_FILE_RULE_IDS, FRAMEWORK_SPECIFIC_RULE_KEYS, FRAMEWORK_TOKENS, MOTION_LIBRARY_PACKAGES, REACT_COMPILER_RULES, REACT_DOCTOR_RULES, classifySecurityScanFile, collectCrossFileDependencyProbes, resetManifestCaches, shouldReadSecurityScanContent } from "oxlint-plugin-react-doctor";
@@ -61777,7 +61777,7 @@ const SOCKET_FREE_USER_AGENT = "react-doctor-supply-chain";
61777
61777
  const FILE_LINT_CACHE_FILENAME = "file-lint-cache.json";
61778
61778
  const FILE_LINT_CACHE_MAX_FILE_COUNT = 5e4;
61779
61779
  const SIDECAR_LINT_CACHE_FILENAME = "sidecar-lint-cache.json";
61780
- const CORE_PACKAGE_VERSION = "0.8.2";
61780
+ const CORE_PACKAGE_VERSION = "0.8.3";
61781
61781
  const DEAD_CODE_CACHE_FILENAME = "dead-code-cache.json";
61782
61782
  const DEAD_CODE_SUMMARY_CACHE_FILENAME = "dead-code-summaries.json";
61783
61783
  const SUPPLY_CHAIN_PLUGIN = "socket";
@@ -73867,4 +73867,4 @@ const toJsonReport = (result, options) => buildJsonReport({
73867
73867
  export { AmbiguousProjectError, NoReactDependencyError, NotADirectoryError, PackageJsonNotFoundError, ProjectNotFoundError, ReactDoctorError, buildJsonReport, buildJsonReportError, clearCaches, defineConfig, diagnose, filterSourceFiles, getDiffInfo, hasReactRuntime, isProjectDiscoveryError, isReactDoctorError, summarizeDiagnostics, toJsonReport };
73868
73868
 
73869
73869
  //# sourceMappingURL=index.js.map
73870
- //# debugId=c9b50d38-1251-547e-8985-91c7948c205c
73870
+ //# debugId=7220ef23-bb78-5d51-b8a0-e8a54b69181e
package/dist/lsp.js CHANGED
@@ -61830,7 +61830,7 @@ const SOCKET_FREE_USER_AGENT = "react-doctor-supply-chain";
61830
61830
  const FILE_LINT_CACHE_FILENAME = "file-lint-cache.json";
61831
61831
  const FILE_LINT_CACHE_MAX_FILE_COUNT = 5e4;
61832
61832
  const SIDECAR_LINT_CACHE_FILENAME = "sidecar-lint-cache.json";
61833
- const CORE_PACKAGE_VERSION = "0.8.2";
61833
+ const CORE_PACKAGE_VERSION = "0.8.3";
61834
61834
  const DEAD_CODE_CACHE_FILENAME = "dead-code-cache.json";
61835
61835
  const DEAD_CODE_SUMMARY_CACHE_FILENAME = "dead-code-summaries.json";
61836
61836
  const SUPPLY_CHAIN_PLUGIN = "socket";
@@ -73458,7 +73458,7 @@ const computeConfigFingerprint = (projectDirectory, version) => {
73458
73458
  /** Display name used in client-facing messages and progress titles. */
73459
73459
  const SERVER_DISPLAY_NAME = "React Doctor";
73460
73460
  /** Server version reported in `serverInfo`; injected at build, `dev` from source. */
73461
- const SERVER_VERSION = "0.8.2";
73461
+ const SERVER_VERSION = "0.8.3";
73462
73462
  /** `Diagnostic.source` shown next to every published diagnostic. */
73463
73463
  const DIAGNOSTIC_SOURCE = "react-doctor";
73464
73464
  /**
@@ -75488,5 +75488,5 @@ const startLanguageServer = () => {
75488
75488
  };
75489
75489
  //#endregion
75490
75490
  export { startLanguageServer };
75491
- !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]="eb779168-479d-50b0-b8fc-ca4184330b93")}catch(e){}}();
75492
- //# debugId=eb779168-479d-50b0-b8fc-ca4184330b93
75491
+ !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]="7b9f03d7-bc77-5d7b-8b09-8ec7a5264956")}catch(e){}}();
75492
+ //# debugId=7b9f03d7-bc77-5d7b-8b09-8ec7a5264956
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-doctor",
3
- "version": "0.8.2",
3
+ "version": "0.8.3",
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.8.2",
69
- "oxlint-plugin-react-doctor": "0.8.2"
68
+ "deslop-js": "0.8.3",
69
+ "oxlint-plugin-react-doctor": "0.8.3"
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/api": "0.8.2",
78
- "@react-doctor/core": "0.8.2",
79
- "@react-doctor/language-server": "0.8.2"
77
+ "@react-doctor/api": "0.8.3",
78
+ "@react-doctor/core": "0.8.3",
79
+ "@react-doctor/language-server": "0.8.3"
80
80
  },
81
81
  "engines": {
82
82
  "node": "^20.19.0 || >=22.13.0"