mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-25 22:34:56 +00:00
Complete implementation of accessibility utilities across fakemui components: **New Files**: - src/utils/accessibility.ts - Core accessibility utilities (moved from legacy) - src/utils/accessibility.module.scss - Accessibility SCSS styles - src/utils/useAccessible.ts - React hooks for accessibility: * useAccessible() - Generate test IDs and ARIA attributes * useKeyboardNavigation() - Handle keyboard events * useFocusManagement() - Programmatic focus control * useLiveRegion() - Screen reader announcements * useFocusTrap() - Focus trapping for modals **Component Updates**: - Button.tsx - Added data-testid and ARIA support via useAccessible hook - TextField.tsx - Added data-testid, aria-invalid, aria-describedby support **Documentation**: - docs/ACCESSIBILITY_INTEGRATION.md - Complete integration guide with examples **Features**: - 50+ preset test ID generators (form, canvas, settings, navigation, etc.) - ARIA attribute patterns for buttons, toggles, dialogs, tabs, live regions - Keyboard navigation helpers (Enter, Escape, Arrow keys, Tab) - Accessibility validators (hasLabel, isKeyboardAccessible, etc.) - Fully typed TypeScript with AccessibilityFeature, Component, Action types All components now support reliable testing via data-testid and screen reader access via ARIA attributes. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
3.1 KiB
3.1 KiB
Go Workflow Plugins - Dependency Management
Last Updated: 2026-01-23 Go Version: 1.21+
Overview
All Go workflow plugins are designed to have zero external dependencies (except the core workflow interface). All plugins use only the Go standard library.
Module Structure
Root Module: go.mod
- Module Path:
github.com/metabuilder/workflow-plugins-go - Go Version: 1.21
- Dependencies: Only
github.com/metabuilder/workflowfor the interface
Workspace: go.work
- Coordinates all 15 plugin categories
- Enables monorepo development with
go mod tidy
Plugin Categories (Zero External Dependencies)
| Category | Plugins | External Deps | Status |
|---|---|---|---|
| control | 1 | None | ✓ Complete |
| convert | 7 | None | ✓ Complete |
| core | 1 | None | ✓ Complete |
| dict | 6 | None | ✓ Complete |
| list | 7 | None | ✓ Complete |
| logic | 9 | None | ✓ Complete |
| math | 4 | None | ✓ Complete |
| notifications | 1 | None | ✓ Complete |
| string | 8 | None | ✓ Complete |
| test | 5 | None | ✓ Complete |
| tools | 1 | None | ✓ Complete |
| utils | 1 | None | ✓ Complete |
| var | 4 | None | ✓ Complete |
| web | 1 | None | ✓ Complete |
Total Go Plugins: 51
Development Workflow
Initialize Workspace
cd workflow/plugins/go
go mod download
go mod tidy
Build All Plugins
go build ./...
Test All Plugins
go test ./...
Add New Plugin Module
For a new category new_category:
- Create directory:
new_category/new_plugin/ - Add
main.gowith plugin implementation - Update
go.workto include./new_category - Run
go mod tidy
Plugin Implementation Pattern
All Go plugins follow this interface:
package plugin
// Plugin is the interface all workflow plugins must implement.
type Plugin interface {
Run(runtime *Runtime, inputs map[string]interface{}) (map[string]interface{}, error)
}
// Runtime provides context for plugin execution.
type Runtime struct {
Store map[string]interface{} // Workflow state storage
Context map[string]interface{} // Shared context (clients, config)
Logger Logger // Logging interface
}
Migration Notes
From Node Modules (TypeScript)
- Go plugins use workspace coordination instead of npm workspaces
- Each plugin category is a standalone Go module directory
- No package.json dependencies needed
Dependencies Decision
- External libraries: Explicitly avoided to minimize deployment size
- Standard library only: Ensures compatibility across platforms
- Plugin interface: Single external import from
metabuilder/workflow
Future Enhancements
- Consider adding optional plugins with external dependencies (separate directory)
- Implement plugin registry for dynamic loading
- Add plugin versioning strategy
- Create plugin template generator
Troubleshooting
Import conflicts
go mod verify
go mod tidy
Workspace issues
go work init
go work use ./...
Version mismatches
go get -u ./...
go mod tidy