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>
49 lines
1.8 KiB
JavaScript
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;
|
|
}
|