Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: add upgrade information for Meteor components #1661

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,8 @@ cmsService
codebase
codeblock
codeblocks
codemods
Codemods
codereview
Codestyle
colorpicker
Expand Down Expand Up @@ -1321,6 +1323,7 @@ RestrictDelete
resubmittable
rethrown
returnUrl
Reusability
revalidation
ReverseInherited
Reviewdog
Expand Down
Original file line number Diff line number Diff line change
@@ -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 used across multiple Shopware projects and 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 Codemods for migration

To simplify the plugin migration process, we provide codemods that automatically replace old components with new Meteor Components.

### Prerequisites

- A [development installation of Shopware](https://github.com/shopware/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 also outputs 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
- Fixes some other deprecated code where possible

Loading