-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Overview
Update rules_wasm_component to consume the external file operations component instead of the embedded Go binary, with backward compatibility.
Tasks
- Add bazel-file-ops-component as dependency in rules_wasm_component
- Update file_ops_actions.bzl to use external component
- Maintain backward compatibility during transition
- Add configuration options for implementation selection
- Update toolchain configuration to use external component
- Create migration guide and documentation
- Add integration tests with external component
- Performance comparison and validation
Integration Changes
- Update MODULE.bazel to include external component dependency
- Modify tools/bazel_helpers/file_ops_actions.bzl
- Update toolchain configuration in toolchains/
- Add component selection configuration options
Backward Compatibility
- Maintain existing JSON configuration format
- Keep existing function signatures and behavior
- Add deprecation warnings for embedded tools
- Provide migration path and timeline
Configuration Options
# In rules_wasm_component configuration
file_ops_config(
implementation = "auto", # auto, embedded, external
external_component = "@bazel_file_ops_component//:file_ops_component",
security_level = "high",
migration_mode = True, # Enable compatibility mode
)Acceptance Criteria
- External component integration works seamlessly
- All existing functionality remains unchanged
- Performance is equal or better than embedded version
- Security improvements are properly leveraged
- Migration guide is comprehensive and clear
- Integration tests validate all functionality
- Documentation reflects new architecture
Migration Strategy
- Phase 1: Add external component as optional dependency
- Phase 2: Make external component default with embedded fallback
- Phase 3: Deprecate embedded version with warnings
- Phase 4: Remove embedded version in next major release
Related
Part of Phase 6 ecosystem integration. Final step in complete migration to external component architecture.
Metadata
Metadata
Assignees
Labels
No labels