react-doctor 0.2.0-beta.0 → 0.2.0-beta.1

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,6 +1,6 @@
1
1
  import { createRequire } from "node:module";
2
2
  import { spawn, spawnSync } from "node:child_process";
3
- import fs, { existsSync, mkdirSync, mkdtempSync, writeFileSync } from "node:fs";
3
+ import fs, { existsSync, mkdirSync, mkdtempSync, statSync, writeFileSync } from "node:fs";
4
4
  import fs$1 from "node:fs/promises";
5
5
  import os, { tmpdir } from "node:os";
6
6
  import path from "node:path";
@@ -17331,8 +17331,7 @@ const builtInPlugins = [
17331
17331
  "{src/,}app/**/sitemap.{js,ts}",
17332
17332
  "{src/,}app/**/robots.{js,ts}",
17333
17333
  "{src/,}app/**/manifest.{js,ts}",
17334
- "{src/,}pages/**/*.{js,jsx,ts,tsx}",
17335
- "next.config.{js,mjs,cjs,ts}"
17334
+ "{src/,}pages/**/*.{js,jsx,ts,tsx}"
17336
17335
  ],
17337
17336
  entryRole: "runtime",
17338
17337
  alwaysUsedPatterns: [
@@ -17427,11 +17426,7 @@ const builtInPlugins = [
17427
17426
  {
17428
17427
  name: "vite",
17429
17428
  enablers: ["vite"],
17430
- entryPatterns: [
17431
- "index.html",
17432
- "src/main.{js,jsx,ts,tsx}",
17433
- "vite.config.{js,mjs,cjs,ts}"
17434
- ],
17429
+ entryPatterns: ["index.html", "src/main.{js,jsx,ts,tsx}"],
17435
17430
  entryRole: "runtime",
17436
17431
  toolingDependencies: ["vite"],
17437
17432
  virtualModulePrefixes: ["virtual:"]
@@ -17748,6 +17743,16 @@ const toExternalPackageImport = (importRecord, packageName) => ({
17748
17743
  packageName,
17749
17744
  error: null
17750
17745
  });
17746
+ const toRuntimeUrlAssetImport = (module, importRecord, importSource) => {
17747
+ const resolvedFilePath = path.resolve(path.dirname(module.file.filePath), importSource);
17748
+ return {
17749
+ importRecord,
17750
+ targetKind: "asset",
17751
+ targetFilePath: existsSync(resolvedFilePath) && statSync(resolvedFilePath).isFile() ? resolvedFilePath : null,
17752
+ packageName: null,
17753
+ error: null
17754
+ };
17755
+ };
17751
17756
  const toContextGlobPattern = (rootDirectory, module, importRecord) => {
17752
17757
  if (importRecord.context?.kind === "require-context") {
17753
17758
  const baseDirectory = getContextBaseDirectory(rootDirectory, module, importRecord);
@@ -17847,6 +17852,7 @@ const resolveImport = (module, resolver, rootDirectory, sourceFilePaths, workspa
17847
17852
  error: null
17848
17853
  };
17849
17854
  if (packageName) return toExternalPackageImport(importRecord, packageName);
17855
+ if (importRecord.kind === "asset") return toRuntimeUrlAssetImport(module, importRecord, importSource);
17850
17856
  return {
17851
17857
  importRecord,
17852
17858
  targetKind: "unresolved",
@@ -19533,7 +19539,7 @@ const mergeInspectOptions = (defaults, options) => ({
19533
19539
  const createReactDoctor = (options = {}) => ({ inspect: (runOptions = {}) => inspectReactProjectCore(mergeInspectOptions(options, runOptions)) });
19534
19540
  //#endregion
19535
19541
  //#region src/cli/index.ts
19536
- const VERSION = "0.2.0-beta.0";
19542
+ const VERSION = "0.2.0-beta.1";
19537
19543
  const NON_INTERACTIVE_ENVIRONMENT_VARIABLES = [
19538
19544
  "CI",
19539
19545
  "GITHUB_ACTIONS",
@@ -19735,6 +19741,7 @@ const encodeAnnotationMessage = (value) => value.replace(/%/g, "%25").replace(/\
19735
19741
  const printAnnotations = (issues, routeToStderr) => {
19736
19742
  const writeLine = routeToStderr ? (line) => process.stderr.write(`${line}\n`) : (line) => process.stdout.write(`${line}\n`);
19737
19743
  for (const issue of issues) {
19744
+ if (issue.severity === "info") continue;
19738
19745
  const level = issue.severity === "error" ? "error" : "warning";
19739
19746
  const title = issue.title;
19740
19747
  writeLine(`::${level} ${`file=${encodeAnnotationProperty(issue.location?.filePath ?? "")}`}${issue.location?.line ? `,line=${issue.location.line}` : ""}${`,title=${encodeAnnotationProperty(title)}`}::${encodeAnnotationMessage(issue.message)}`);
@@ -20202,7 +20209,7 @@ const runInstall = async (installOptions) => {
20202
20209
  }
20203
20210
  console.log(`${highlighter.success("✔")} react-doctor skill installed for ${selectedAgents.join(", ")}.`);
20204
20211
  };
20205
- const program = new Command().name("react-doctor").description("Diagnose React codebase health").version(VERSION, "-v, --version", "display the version number").argument("[directory]", "project directory to scan", ".").option("--lint", "enable linting").option("--no-lint", "skip oxlint checks").option("--dead-code", "enable dead code detection").option("--no-dead-code", "skip codebase graph checks").option("--verbose", "show every rule and per-file details (default shows top 3 rules)").option("--custom-rules-only", "run only react-doctor custom oxlint rules").option("--staged", "only inspect staged source files (materializes git index snapshot)").option("--unstaged", "only inspect unstaged and untracked source files").option("--changed", "only inspect source files changed since HEAD").option("--diff [base]", "scan only files changed vs base branch (pass `false` to disable; overridden by --full)").option("--json", "output a single structured JSON report (suppresses other output)").option("--json-compact", "with --json, emit compact JSON (no indentation)").option("--offline", "skip telemetry (anonymous, not stored, only used to calculate score)").option("--project <name>", "select workspace project (comma-separated for multiple)").option("-y, --yes", "skip prompts, scan all workspace projects").option("--score", "output only the score").option("--full", "force a full scan (overrides any `diff` value in config or `--diff`)").option("--annotations", "output diagnostics as GitHub Actions annotations").option("--fail-on <level>", "exit with error code on diagnostics: error, warning, none", "error").option("--explain <file:line>", "diagnose why a rule fired at a specific location").option("--why <file:line>", "alias for --explain").option("--respect-inline-disables", "respect inline `// eslint-disable*` / `// oxlint-disable*` comments (default)").option("--no-respect-inline-disables", "audit mode: neutralize inline lint suppressions before scanning").action(async (directory, flags, command) => {
20212
+ const program = new Command().name("react-doctor").description("Diagnose React codebase health").version(VERSION, "-v, --version", "display the version number").argument("[directory]", "project directory to scan", ".").option("--lint", "enable linting").option("--no-lint", "skip oxlint checks").option("--dead-code", "enable dead-code, dependency, and architecture graph checks (off by default)").option("--no-dead-code", "skip codebase graph checks").option("--verbose", "show every rule and per-file details (default shows top 3 rules)").option("--custom-rules-only", "run only react-doctor custom oxlint rules").option("--staged", "only inspect staged source files (materializes git index snapshot)").option("--unstaged", "only inspect unstaged and untracked source files").option("--changed", "only inspect source files changed since HEAD").option("--diff [base]", "scan only files changed vs base branch (pass `false` to disable; overridden by --full)").option("--json", "output a single structured JSON report (suppresses other output)").option("--json-compact", "with --json, emit compact JSON (no indentation)").option("--offline", "skip telemetry (anonymous, not stored, only used to calculate score)").option("--project <name>", "select workspace project (comma-separated for multiple)").option("-y, --yes", "skip prompts, scan all workspace projects").option("--score", "output only the score").option("--full", "force a full scan (overrides any `diff` value in config or `--diff`)").option("--annotations", "output diagnostics as GitHub Actions annotations").option("--fail-on <level>", "exit with error code on diagnostics: error, warning, none", "error").option("--explain <file:line>", "diagnose why a rule fired at a specific location").option("--why <file:line>", "alias for --explain").option("--respect-inline-disables", "respect inline `// eslint-disable*` / `// oxlint-disable*` comments (default)").option("--no-respect-inline-disables", "audit mode: neutralize inline lint suppressions before scanning").action(async (directory, flags, command) => {
20206
20213
  const isScoreOnly = flags.score;
20207
20214
  const isJsonMode = flags.json;
20208
20215
  const isQuiet = isScoreOnly || isJsonMode;
@@ -20338,7 +20345,7 @@ const program = new Command().name("react-doctor").description("Diagnose React c
20338
20345
  const projectDirectories = await selectProjects(discoveredProjects, scanRootDirectory, flags.project, shouldSkipPrompts, isQuiet);
20339
20346
  const inspectOptions = {
20340
20347
  lint: shouldSkipSourceChecks ? false : resolveBooleanInspectOption(command, "lint", flags.lint, config.lint, true),
20341
- deadCode: shouldSkipSourceChecks || isActiveChangedFileMode(effectiveFlags, isDiffMode) ? false : resolveBooleanInspectOption(command, "deadCode", flags.deadCode, config.deadCode, true),
20348
+ deadCode: shouldSkipSourceChecks || isActiveChangedFileMode(effectiveFlags, isDiffMode) ? false : resolveBooleanInspectOption(command, "deadCode", flags.deadCode, config.deadCode, false),
20342
20349
  customRulesOnly: resolveBooleanInspectOption(command, "customRulesOnly", flags.customRulesOnly, config.customRulesOnly, false),
20343
20350
  offline: isOffline,
20344
20351
  respectInlineDisables: resolveBooleanInspectOption(command, "respectInlineDisables", flags.respectInlineDisables, config.respectInlineDisables, true),
@@ -1,6 +1,6 @@
1
1
  import { a as FETCH_TIMEOUT_MS, c as PACKAGE_JSON_FILENAME, l as REACT_DOCTOR_CONFIG_FILENAME, o as MILLISECONDS_PER_SECOND, r as getScoreLabel, s as PACKAGE_JSON_CONFIG_KEY, t as calculateScore, u as SCORE_API_URL } from "./score-CzbtoFAu.js";
2
- import { D as ReactDoctorInvalidConfigError, L as toReactDoctorErrorInfo, N as ReactDoctorRunnerUnavailableError, S as ReactDoctorCheckFailedError, _ as PACKAGE_JSON_FILENAME$1, a as DEPENDENCIES_RULE_ID, d as collectPatternNames, f as walkAst, g as IGNORED_DIRECTORY_NAMES, h as readPackageJson, i as REACT_ARCHITECTURE_RULE_ID, n as createRuleRegistry, o as DEAD_CODE_RULE_ID, p as isNodeOfType, s as runCodebaseAnalysis, v as SOURCE_FILE_EXTENSIONS } from "./rules-BfZ4Ujfv.js";
3
- import { _ as createReactDoctorOxlintConfig, r as reactDoctorOxlintRuleMetadata, v as getReactDoctorRuleTags } from "./metadata-se470mRG.js";
2
+ import { D as ReactDoctorInvalidConfigError, L as toReactDoctorErrorInfo, N as ReactDoctorRunnerUnavailableError, S as ReactDoctorCheckFailedError, _ as PACKAGE_JSON_FILENAME$1, a as DEPENDENCIES_RULE_ID, d as collectPatternNames, f as walkAst, g as IGNORED_DIRECTORY_NAMES, h as readPackageJson, i as REACT_ARCHITECTURE_RULE_ID, n as createRuleRegistry, o as DEAD_CODE_RULE_ID, p as isNodeOfType, s as runCodebaseAnalysis, v as SOURCE_FILE_EXTENSIONS } from "./rules-DwGNObf8.js";
3
+ import { _ as createReactDoctorOxlintConfig, r as reactDoctorOxlintRuleMetadata, v as getReactDoctorRuleTags } from "./metadata-Bz_yY064.js";
4
4
  import { createRequire } from "node:module";
5
5
  import fs from "node:fs/promises";
6
6
  import path from "node:path";
@@ -1848,4 +1848,4 @@ const clearCaches = () => {
1848
1848
  //#endregion
1849
1849
  export { filterReactDoctorIssues as a, toOxlintProjectInfo as c, summarizeReactDoctorResult as d, OXLINT_CHECK_ID as f, resolveConfigRootDirectory as h, runOxlint as i, buildReactDoctorJsonReport as l, loadReactDoctorConfig as m, diagnose as n, discoverReactProject as o, clearReactDoctorConfigCache as p, inspectReactProjectCore as r, parseReactMajorVersion as s, clearCaches as t, calculateReactDoctorScore as u };
1850
1850
 
1851
- //# sourceMappingURL=compat-CM6aj69a.js.map
1851
+ //# sourceMappingURL=compat-DLFL9-Or.js.map
package/dist/compat.js CHANGED
@@ -1,3 +1,3 @@
1
- import { E as ReactDoctorError, I as isReactDoctorError, O as ReactDoctorNoReactDependencyError, j as ReactDoctorProjectNotFoundError, k as ReactDoctorPackageJsonNotFoundError, y as ReactDoctorAmbiguousProjectError } from "./rules-BfZ4Ujfv.js";
2
- import { n as diagnose, t as clearCaches } from "./compat-CM6aj69a.js";
1
+ import { E as ReactDoctorError, I as isReactDoctorError, O as ReactDoctorNoReactDependencyError, j as ReactDoctorProjectNotFoundError, k as ReactDoctorPackageJsonNotFoundError, y as ReactDoctorAmbiguousProjectError } from "./rules-DwGNObf8.js";
2
+ import { n as diagnose, t as clearCaches } from "./compat-DLFL9-Or.js";
3
3
  export { ReactDoctorAmbiguousProjectError as AmbiguousProjectError, ReactDoctorNoReactDependencyError as NoReactDependencyError, ReactDoctorPackageJsonNotFoundError as PackageJsonNotFoundError, ReactDoctorProjectNotFoundError as ProjectNotFoundError, ReactDoctorError, clearCaches, diagnose, isReactDoctorError };
@@ -1,5 +1,5 @@
1
- import { l as reactDoctorOxlintPlugin } from "./rules-BfZ4Ujfv.js";
2
- import { h as TANSTACK_START_OXLINT_RULES, l as GLOBAL_REACT_DOCTOR_OXLINT_RULES, m as TANSTACK_QUERY_OXLINT_RULES, p as REACT_NATIVE_OXLINT_RULES, r as reactDoctorOxlintRuleMetadata, u as NEXTJS_OXLINT_RULES } from "./metadata-se470mRG.js";
1
+ import { l as reactDoctorOxlintPlugin } from "./rules-DwGNObf8.js";
2
+ import { h as TANSTACK_START_OXLINT_RULES, l as GLOBAL_REACT_DOCTOR_OXLINT_RULES, m as TANSTACK_QUERY_OXLINT_RULES, p as REACT_NATIVE_OXLINT_RULES, r as reactDoctorOxlintRuleMetadata, u as NEXTJS_OXLINT_RULES } from "./metadata-Bz_yY064.js";
3
3
  //#region src/eslint-plugin.ts
4
4
  const PLUGIN_NAMESPACE = "react-doctor";
5
5
  const rules = {};
@@ -1,4 +1,4 @@
1
- import { u as reactDoctorOxlintRules } from "./rules-BfZ4Ujfv.js";
1
+ import { u as reactDoctorOxlintRules } from "./rules-DwGNObf8.js";
2
2
  import { createRequire } from "node:module";
3
3
  import path from "node:path";
4
4
  //#region src/core/rules/lint/config.ts
@@ -601,4 +601,4 @@ const reactDoctorOxlintRuleMetadata = Object.entries(reactDoctorOxlintRules).sor
601
601
  //#endregion
602
602
  export { createReactDoctorOxlintConfig as _, BUILTIN_A11Y_OXLINT_RULES as a, shouldEnableReactDoctorOxlintRule as b, CURATED_OXLINT_RULES as c, REACT_COMPILER_OXLINT_RULES as d, REACT_DOCTOR_CUSTOM_OXLINT_RULES as f, buildReactDoctorOxlintCapabilities as g, TANSTACK_START_OXLINT_RULES as h, ALL_REACT_DOCTOR_OXLINT_RULE_KEYS as i, GLOBAL_REACT_DOCTOR_OXLINT_RULES as l, TANSTACK_QUERY_OXLINT_RULES as m, REACT_DOCTOR_OXLINT_RULE_ID_PREFIX as n, BUILTIN_OXLINT_RULES as o, REACT_NATIVE_OXLINT_RULES as p, reactDoctorOxlintRuleMetadata as r, BUILTIN_REACT_OXLINT_RULES as s, REACT_DOCTOR_OXLINT_PLUGIN_NAMESPACE as t, NEXTJS_OXLINT_RULES as u, getReactDoctorRuleTags as v, reactPeerRangeMinMajor as y };
603
603
 
604
- //# sourceMappingURL=metadata-se470mRG.js.map
604
+ //# sourceMappingURL=metadata-Bz_yY064.js.map
@@ -1,4 +1,4 @@
1
- import { l as reactDoctorOxlintPlugin } from "./rules-BfZ4Ujfv.js";
1
+ import { l as reactDoctorOxlintPlugin } from "./rules-DwGNObf8.js";
2
2
  //#region src/oxlint-plugin.ts
3
3
  var oxlint_plugin_default = reactDoctorOxlintPlugin;
4
4
  //#endregion
@@ -1,6 +1,6 @@
1
1
  import fs from "node:fs/promises";
2
2
  import path from "node:path";
3
- import { existsSync } from "node:fs";
3
+ import { existsSync, statSync } from "node:fs";
4
4
  import { parseSync } from "oxc-parser";
5
5
  import { ResolverFactory } from "oxc-resolver";
6
6
  //#region src/core/errors.ts
@@ -15579,8 +15579,7 @@ const builtInPlugins = [
15579
15579
  "{src/,}app/**/sitemap.{js,ts}",
15580
15580
  "{src/,}app/**/robots.{js,ts}",
15581
15581
  "{src/,}app/**/manifest.{js,ts}",
15582
- "{src/,}pages/**/*.{js,jsx,ts,tsx}",
15583
- "next.config.{js,mjs,cjs,ts}"
15582
+ "{src/,}pages/**/*.{js,jsx,ts,tsx}"
15584
15583
  ],
15585
15584
  entryRole: "runtime",
15586
15585
  alwaysUsedPatterns: [
@@ -15675,11 +15674,7 @@ const builtInPlugins = [
15675
15674
  {
15676
15675
  name: "vite",
15677
15676
  enablers: ["vite"],
15678
- entryPatterns: [
15679
- "index.html",
15680
- "src/main.{js,jsx,ts,tsx}",
15681
- "vite.config.{js,mjs,cjs,ts}"
15682
- ],
15677
+ entryPatterns: ["index.html", "src/main.{js,jsx,ts,tsx}"],
15683
15678
  entryRole: "runtime",
15684
15679
  toolingDependencies: ["vite"],
15685
15680
  virtualModulePrefixes: ["virtual:"]
@@ -15996,6 +15991,16 @@ const toExternalPackageImport = (importRecord, packageName) => ({
15996
15991
  packageName,
15997
15992
  error: null
15998
15993
  });
15994
+ const toRuntimeUrlAssetImport = (module, importRecord, importSource) => {
15995
+ const resolvedFilePath = path.resolve(path.dirname(module.file.filePath), importSource);
15996
+ return {
15997
+ importRecord,
15998
+ targetKind: "asset",
15999
+ targetFilePath: existsSync(resolvedFilePath) && statSync(resolvedFilePath).isFile() ? resolvedFilePath : null,
16000
+ packageName: null,
16001
+ error: null
16002
+ };
16003
+ };
15999
16004
  const toContextGlobPattern = (rootDirectory, module, importRecord) => {
16000
16005
  if (importRecord.context?.kind === "require-context") {
16001
16006
  const baseDirectory = getContextBaseDirectory(rootDirectory, module, importRecord);
@@ -16095,6 +16100,7 @@ const resolveImport = (module, resolver, rootDirectory, sourceFilePaths, workspa
16095
16100
  error: null
16096
16101
  };
16097
16102
  if (packageName) return toExternalPackageImport(importRecord, packageName);
16103
+ if (importRecord.kind === "asset") return toRuntimeUrlAssetImport(module, importRecord, importSource);
16098
16104
  return {
16099
16105
  importRecord,
16100
16106
  targetKind: "unresolved",
@@ -16698,4 +16704,4 @@ const ruleRegistry = createRuleRegistry();
16698
16704
  //#endregion
16699
16705
  export { ReactDoctorProjectError as A, ReactDoctorCheckSkippedError as C, ReactDoctorInvalidConfigError as D, ReactDoctorError as E, ReactDoctorUnsupportedRuntimeError as F, isReactDoctorError as I, toReactDoctorErrorInfo as L, ReactDoctorReportError as M, ReactDoctorRunnerUnavailableError as N, ReactDoctorNoReactDependencyError as O, ReactDoctorTimeoutError as P, ReactDoctorCheckFailedError as S, ReactDoctorConfigNotFoundError as T, PACKAGE_JSON_FILENAME as _, DEPENDENCIES_RULE_ID as a, ReactDoctorCancelledError as b, reactProjectStructureRule as c, collectPatternNames as d, walkAst as f, IGNORED_DIRECTORY_NAMES as g, readPackageJson as h, REACT_ARCHITECTURE_RULE_ID as i, ReactDoctorProjectNotFoundError as j, ReactDoctorPackageJsonNotFoundError as k, reactDoctorOxlintPlugin as l, defineRule as m, createRuleRegistry as n, DEAD_CODE_RULE_ID as o, isNodeOfType as p, ruleRegistry as r, runCodebaseAnalysis as s, coreRules as t, reactDoctorOxlintRules as u, SOURCE_FILE_EXTENSIONS as v, ReactDoctorConfigError as w, ReactDoctorCheckError as x, ReactDoctorAmbiguousProjectError as y };
16700
16706
 
16701
- //# sourceMappingURL=rules-BfZ4Ujfv.js.map
16707
+ //# sourceMappingURL=rules-DwGNObf8.js.map
package/dist/sdk.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { n as calculateScoreBreakdown, r as getScoreLabel, t as calculateScore } from "./score-CzbtoFAu.js";
2
- import { A as ReactDoctorProjectError, C as ReactDoctorCheckSkippedError, D as ReactDoctorInvalidConfigError, E as ReactDoctorError, F as ReactDoctorUnsupportedRuntimeError, I as isReactDoctorError, L as toReactDoctorErrorInfo, M as ReactDoctorReportError, N as ReactDoctorRunnerUnavailableError, O as ReactDoctorNoReactDependencyError, P as ReactDoctorTimeoutError, S as ReactDoctorCheckFailedError, T as ReactDoctorConfigNotFoundError, a as DEPENDENCIES_RULE_ID, b as ReactDoctorCancelledError, c as reactProjectStructureRule, i as REACT_ARCHITECTURE_RULE_ID, j as ReactDoctorProjectNotFoundError, k as ReactDoctorPackageJsonNotFoundError, l as reactDoctorOxlintPlugin, m as defineRule, n as createRuleRegistry, o as DEAD_CODE_RULE_ID, r as ruleRegistry, t as coreRules, w as ReactDoctorConfigError, x as ReactDoctorCheckError, y as ReactDoctorAmbiguousProjectError } from "./rules-BfZ4Ujfv.js";
3
- import { a as filterReactDoctorIssues, c as toOxlintProjectInfo, d as summarizeReactDoctorResult, f as OXLINT_CHECK_ID, h as resolveConfigRootDirectory, i as runOxlint, l as buildReactDoctorJsonReport, m as loadReactDoctorConfig, n as diagnose, o as discoverReactProject, p as clearReactDoctorConfigCache, r as inspectReactProjectCore, s as parseReactMajorVersion, t as clearCaches, u as calculateReactDoctorScore } from "./compat-CM6aj69a.js";
4
- import { _ as createReactDoctorOxlintConfig, a as BUILTIN_A11Y_OXLINT_RULES, b as shouldEnableReactDoctorOxlintRule, c as CURATED_OXLINT_RULES, d as REACT_COMPILER_OXLINT_RULES, f as REACT_DOCTOR_CUSTOM_OXLINT_RULES, g as buildReactDoctorOxlintCapabilities, h as TANSTACK_START_OXLINT_RULES, i as ALL_REACT_DOCTOR_OXLINT_RULE_KEYS, l as GLOBAL_REACT_DOCTOR_OXLINT_RULES, m as TANSTACK_QUERY_OXLINT_RULES, n as REACT_DOCTOR_OXLINT_RULE_ID_PREFIX, o as BUILTIN_OXLINT_RULES, p as REACT_NATIVE_OXLINT_RULES, r as reactDoctorOxlintRuleMetadata, s as BUILTIN_REACT_OXLINT_RULES, t as REACT_DOCTOR_OXLINT_PLUGIN_NAMESPACE, u as NEXTJS_OXLINT_RULES, y as reactPeerRangeMinMajor } from "./metadata-se470mRG.js";
2
+ import { A as ReactDoctorProjectError, C as ReactDoctorCheckSkippedError, D as ReactDoctorInvalidConfigError, E as ReactDoctorError, F as ReactDoctorUnsupportedRuntimeError, I as isReactDoctorError, L as toReactDoctorErrorInfo, M as ReactDoctorReportError, N as ReactDoctorRunnerUnavailableError, O as ReactDoctorNoReactDependencyError, P as ReactDoctorTimeoutError, S as ReactDoctorCheckFailedError, T as ReactDoctorConfigNotFoundError, a as DEPENDENCIES_RULE_ID, b as ReactDoctorCancelledError, c as reactProjectStructureRule, i as REACT_ARCHITECTURE_RULE_ID, j as ReactDoctorProjectNotFoundError, k as ReactDoctorPackageJsonNotFoundError, l as reactDoctorOxlintPlugin, m as defineRule, n as createRuleRegistry, o as DEAD_CODE_RULE_ID, r as ruleRegistry, t as coreRules, w as ReactDoctorConfigError, x as ReactDoctorCheckError, y as ReactDoctorAmbiguousProjectError } from "./rules-DwGNObf8.js";
3
+ import { a as filterReactDoctorIssues, c as toOxlintProjectInfo, d as summarizeReactDoctorResult, f as OXLINT_CHECK_ID, h as resolveConfigRootDirectory, i as runOxlint, l as buildReactDoctorJsonReport, m as loadReactDoctorConfig, n as diagnose, o as discoverReactProject, p as clearReactDoctorConfigCache, r as inspectReactProjectCore, s as parseReactMajorVersion, t as clearCaches, u as calculateReactDoctorScore } from "./compat-DLFL9-Or.js";
4
+ import { _ as createReactDoctorOxlintConfig, a as BUILTIN_A11Y_OXLINT_RULES, b as shouldEnableReactDoctorOxlintRule, c as CURATED_OXLINT_RULES, d as REACT_COMPILER_OXLINT_RULES, f as REACT_DOCTOR_CUSTOM_OXLINT_RULES, g as buildReactDoctorOxlintCapabilities, h as TANSTACK_START_OXLINT_RULES, i as ALL_REACT_DOCTOR_OXLINT_RULE_KEYS, l as GLOBAL_REACT_DOCTOR_OXLINT_RULES, m as TANSTACK_QUERY_OXLINT_RULES, n as REACT_DOCTOR_OXLINT_RULE_ID_PREFIX, o as BUILTIN_OXLINT_RULES, p as REACT_NATIVE_OXLINT_RULES, r as reactDoctorOxlintRuleMetadata, s as BUILTIN_REACT_OXLINT_RULES, t as REACT_DOCTOR_OXLINT_PLUGIN_NAMESPACE, u as NEXTJS_OXLINT_RULES, y as reactPeerRangeMinMajor } from "./metadata-Bz_yY064.js";
5
5
  import reactDoctorEslintPlugin from "./eslint-plugin.js";
6
6
  //#region src/sdk/create-react-doctor.ts
7
7
  const mergeInspectOptions = (defaults, options) => ({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-doctor",
3
- "version": "0.2.0-beta.0",
3
+ "version": "0.2.0-beta.1",
4
4
  "description": "Diagnose and fix React codebases for security, performance, correctness, accessibility, bundle-size, and architecture issues",
5
5
  "keywords": [
6
6
  "accessibility",