Files
hive/frontend/node_modules/react-docgen/dist/utils/isReactBuiltinReference.js
anthonyrawlins e89f2f4b7b Add comprehensive development roadmap via GitHub Issues
Created 10 detailed GitHub issues covering:
- Project activation and management UI (#1-2)
- Worker node coordination and visualization (#3-4)
- Automated GitHub repository scanning (#5)
- Intelligent model-to-issue matching (#6)
- Multi-model task execution system (#7)
- N8N workflow integration (#8)
- Hive-Bzzz P2P bridge (#9)
- Peer assistance protocol (#10)

Each issue includes detailed specifications, acceptance criteria,
technical implementation notes, and dependency mapping.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 19:41:01 +10:00

49 lines
1.8 KiB
JavaScript

import isReactModuleName from './isReactModuleName.js';
import resolveToModule from './resolveToModule.js';
import resolveToValue from './resolveToValue.js';
import isDestructuringAssignment from './isDestructuringAssignment.js';
import isImportSpecifier from './isImportSpecifier.js';
function isNamedMemberExpression(value, name) {
if (!value.isMemberExpression()) {
return false;
}
const property = value.get('property');
return property.isIdentifier() && property.node.name === name;
}
/**
* Returns true if the expression is a reference to a react export.
*/
export default function isReactBuiltinReference(path, name) {
if (path.isMemberExpression() &&
path.get('property').isIdentifier({ name })) {
const module = resolveToModule(path.get('object'));
return Boolean(module && isReactModuleName(module));
}
// Typescript
if (path.isTSQualifiedName() && path.get('right').isIdentifier({ name })) {
const module = resolveToModule(path.get('left'));
return Boolean(module && isReactModuleName(module));
}
// Flow
if (path.isQualifiedTypeIdentifier() &&
path.get('id').isIdentifier({ name })) {
const module = resolveToModule(path.get('qualification'));
return Boolean(module && isReactModuleName(module));
}
const value = resolveToValue(path);
if (value === path) {
return false;
}
if (
// const { x } = require('react')
isDestructuringAssignment(value, name) ||
// `require('react').createElement`
isNamedMemberExpression(value, name) ||
// `import { createElement } from 'react'`
isImportSpecifier(value, name)) {
const module = resolveToModule(value);
return Boolean(module && isReactModuleName(module));
}
return false;
}