react_analysis 0.1.1 copy "react_analysis: ^0.1.1" to clipboard
react_analysis: ^0.1.1 copied to clipboard

Shared analyzer engine for React Dart — component, hook, SSR, and runtime-usage semantics.

react_analysis #

Shared semantic analysis for React Dart components, hooks, SSR code, import boundaries, codecs, and runtime usage. This package is the source of truth used by react_analyzer, react_codegen, and react_tool; it does not register an IDE plugin itself.

Installation #

dependencies:
  react_analysis: ^0.1.0

Choose an analyzer based on the source information you already have:

API Input Use it for
ReactComponentAnalyzer resolved LibraryElement or function element component signatures and prop bridgeability
ReactHookAnalyzer CompilationUnit Rules of Hooks and custom-hook naming
ReactSsrAnalyzer CompilationUnit browser-only access during SSR
ServerClientImportAnalyzer path and CompilationUnit server/client import boundaries
ReactRuntimeUsageCollector resolved libraries component and hook usage manifests

For syntax-level rules, parse source and inspect stable diagnostic codes:

import 'package:analyzer/dart/analysis/utilities.dart';
import 'package:react_analysis/react_analysis.dart';

void main() {
  final unit = parseString(
    content: '''
void helper() {
  useState(0);
}
''',
  ).unit;

  final diagnostics = const ReactHookAnalyzer().analyzeUnit(unit);
  for (final diagnostic in diagnostics) {
    print('${diagnostic.code}: ${diagnostic.message}');
  }
}

Use ReactDiagnostic.code for assertions and integrations. Messages and corrections are for people and may become more specific over time.

Component analysis requires resolved analyzer elements because it validates actual Dart types and annotations. Reuse an existing analysis context instead of reparsing files independently when integrating it into a build tool.

Package boundary #

Keep semantic rules in this package so CLI, code generation, tests, and the IDE cannot drift. Plugin registration, quick fixes, and assists belong in react_analyzer; generated output belongs in react_codegen.

Validation #

dart analyze --fatal-infos
dart test
0
likes
150
points
127
downloads

Documentation

API reference

Publisher

verified publisherglenfordwilliams.com

Weekly Downloads

Shared analyzer engine for React Dart — component, hook, SSR, and runtime-usage semantics.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

analyzer

More

Packages that depend on react_analysis