From acc7bf1395e2574e48d7287ff99558d7297f1ab4 Mon Sep 17 00:00:00 2001 From: Jannis Leifeld Date: Tue, 21 Jan 2025 10:08:56 +0100 Subject: [PATCH] docs: add upgrade information for Meteor components --- .wordlist.txt | 3 + .../system-updates/meteor-components.md | 57 +++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 guides/plugins/plugins/administration/system-updates/meteor-components.md diff --git a/.wordlist.txt b/.wordlist.txt index fb16515c7..b7a873d78 100644 --- a/.wordlist.txt +++ b/.wordlist.txt @@ -159,6 +159,8 @@ Cloudflare Cmd CmsPage Codestyle +codemods +Codemods CommercialB CommercialBundle ComponentFactory @@ -701,6 +703,7 @@ ResetUrlAware ResetUrlStorer RestAPI RestrictDelete +Reusability ReverseInherited ReviewFormDataAware ReviewFormDataStorer diff --git a/guides/plugins/plugins/administration/system-updates/meteor-components.md b/guides/plugins/plugins/administration/system-updates/meteor-components.md new file mode 100644 index 000000000..99d342985 --- /dev/null +++ b/guides/plugins/plugins/administration/system-updates/meteor-components.md @@ -0,0 +1,57 @@ +--- +nav: + title: Upgrading to Meteor Components + position: 260 +--- + +# Future Development Roadmap: Upgrading to Meteor Components + +> **Note:** The information provided in this article, including timelines and specific implementations, is subject to change. +> This document serves as a general guideline for our development direction. + +## Introduction + +With the release of Shopware 6.7, we will replace several current administration components with components from the [Meteor Component Library](https://meteor-component-library.vercel.app/). + +## Why Meteor Components? + +The Meteor Component Library is Shopware's official collection of reusable components that are used across multiple Shopware projects and are built on the Shopware Design System. + +Using a shared component library offers several advantages: + +- **Consistent Design**: All components follow the Shopware Design System guidelines. +- **Consistent Behavior**: All components share standardized behavior patterns and API conventions. +- **Reusability**: Components can be seamlessly integrated across different projects and apps. +- **Maintenance**: Updates and improvements to components are managed centrally and automatically propagate to all projects using the component library. + +## Migration guide + +For each component being replaced, we provide a detailed upgrade guide that explains the migration process from the old component to the new Meteor Component. You can find these guides in the technical upgrade documentation for the release. + +## Using Code mods for migration + +To simplify the plugin migration process, we provide codemods that automatically replace old components with new Meteor Components. + +### Prerequisites + +- A development version of Shopware must be installed +- Your plugin must be located in the `custom/plugins` folder + +### Running the Migration Tool + +1. Execute the following composer command: + + ```bash + # Main command which outputs also the help text + composer run admin:code-mods + + ## Example with arguments + # composer run admin:code-mods -- --plugin-name example-plugin --fix -v 6.7 + ``` + +2. Provide your plugin name and target Shopware version for migration +3. The tool will: + - Automatically replace compatible components with Meteor Components + - Add guidance comments for components that require manual migration + - Check for and update other deprecated code where possible + \ No newline at end of file