From 09e273a17df478e08f247ffe5ccfd5dfcde84c28 Mon Sep 17 00:00:00 2001 From: Jannis Leifeld Date: Tue, 21 Jan 2025 10:08:56 +0100 Subject: [PATCH 1/4] docs: add upgrade information for Meteor components --- .wordlist.txt | 844 ++++++++++++++++++ .../system-updates/meteor-components.md | 57 ++ 2 files changed, 901 insertions(+) create mode 100644 guides/plugins/plugins/administration/system-updates/meteor-components.md diff --git a/.wordlist.txt b/.wordlist.txt index e120782f2..1d8a2fd19 100644 --- a/.wordlist.txt +++ b/.wordlist.txt @@ -266,6 +266,8 @@ codeblock codeblocks codereview Codestyle +codemods +Codemods colorpicker CommercialB CommercialBundle @@ -609,6 +611,848 @@ FlowEventAware FlowExecutor FlowStore FlowStorer +Flysystem +Fontawesome +FooterPagelet +FrameworkBundle +FroshDevelopmentHelper +FroshPluginUploader +Fullstack +GDPR +GIFs +GenericPage +GenericPageLoader +GitLab +Github +GlobFileLoader +GmbH +GoodsCountRule +GoodsPriceRule +GoogleReCaptchaV +Grafana +Grantable +GridHelper +GuestWishlistPage +GuestWishlistPagelet +HMAC +HMR +Homebrew +Hono +HookClasses +HookExecutor +HowTos +IDEs +IPV +IPv +IdField +IdSearchResult +Ideate +Iframe +Inclusivity +IndexerService +Init +Initialisms +IntField +IntelliSense +InterfaceHooks +IsCompanyRule +IsEmployeeRule +IsNewCustomerRule +ItemFacade +ItemsFacade +JSON +JVM +JWT +JavaScript +JestJS +JetBrains +Jira +Jit +Jonge +JsonField +JsonResponse +KV +KeyDB +Kibana +LONGTEXT +LUA +LandingPage +LastNameRule +Lerna +Lifecycle +LineItemClearanceSaleRule +LineItemCreationDateRule +LineItemCustomFieldRule +LineItemDimensionHeightRule +LineItemDimensionLengthRule +LineItemDimensionWeightRule +LineItemDimensionWidthRule +LineItemFactoryRegistry +LineItemGroupRule +LineItemHandler +LineItemInCategoryRule +LineItemIsNewRule +LineItemList +LineItemListPriceRule +LineItemOfManufacturerRule +LineItemOfTypeRule +LineItemPromotedRule +LineItemPropertyRule +LineItemPurchasePriceRule +LineItemReleaseDateRule +LineItemRemovedEvent +LineItemRule +LineItemTagRule +LineItemTaxationRule +LineItemTotalPriceRule +LineItemUnitPriceRule +LineItemWithQuantityRule +LineItemWrapperRule +LineItemsInCartCountRule +LineItemsInCartRule +ListField +ListingPrice +ListingPriceField +LoaderResolver +LockedField +LogEntry +Logfiles +LoggingService +LoginContextService +LoginRequired +LongText +LongTextField +Lychee +MACOSX +MRs +MVC +MailAware +MailHog +MailService +MailStorer +Mailcatcher +Mailhog +MaintenancePage +ManufacturerAttributeDataSet +ManyToMany +ManyToManyAssociation +ManyToManyAssociationField +ManyToManyId +ManyToManyIdField +ManyToOne +ManyToOneAssociation +ManyToOneAssociationField +MediaDataSelection +MediaDataSet +MediaFolderDataSet +MemcachedSessionHandler +MenuOffcanvasPagelet +Mercure +MessageAware +MessageQueue +MessageStorer +MeteorAdminSDK +Methodize +Middleware +MigrationCollection +Minio +Mixin +Mixins +Modularity +ModuleFactory +MongoDbSessionHandler +Monolog +Monorepo +Monorepos +MoveShopPermanently +MultiWarehouse +MyExampleApp +MyExtension +MyPlugin +MyTestClass +MyTestInterface +NPM +NameAware +NameStorer +NavigationPage +NelmioCorsBundle +NewFeature +NewRelic +NewsletterRecipientAware +NewsletterRecipientStorer +Nginx +NixOS +NoSQL +Noback +NodeJS +NotFoundHttpException +NotRule +NullObject +Nullsafe +Nuxt +Nvidia +OAuth +OPENSEARCH +ORM +ORMs +OTEL +OTLP +ObjectField +ObjectType +OffCanvas +OffcanvasCartPageLoadedEvent +OldFeature +OneToMany +OneToManyAssociation +OneToManyAssociationField +OneToOne +OneToOneAssociation +OneToOneAssociationField +OpenAPI +OpenApi +OpenSSH +OpenSSL +OpenSearch +OpenTelemetry +Openapi +Opensearch +Opensearch's +OrRule +OrderAware +OrderCountRule +OrderEntity +OrderEvents +OrderLineItem +OrderLineItemEntity +OrderStorer +OrderTransaction +OrderTransactionAware +OrderTransactionCapture +OrderTransactionCaptureCollection +OrderTransactionCaptureEntity +OrderTransactionCaptureRefund +OrderTransactionCaptureRefundEntity +OrderTransactionCaptureRefundPosition +OrderTransactionCaptureRefundPositionCollection +OrderTransactionEntity +OrderTransactionRefundCollection +OrderTransactionStorer +PHPStan +PHPStorm +PHPUnit +PHPunit +PII +POC +POS +PRs +PSH +PSP +PSR +PWA +PaaS +Paas +Packagist +PageEvent +PageLoaded +PageLoadedEvent +PageLoadedEvents +PageLoader +PageLoader structs +PageType +Pagelet +PageletLoader +Pagelets +Pageloaders +ParentAssociation +ParentAssociationField +ParentFk +ParentFkField +PasswordField +PaymentGatewayApp +PaymentHandlerIdentifierSubscriber +PaymentMethod +PaymentMethodRoute +PaymentMethodRule +PaymentRefundHandlerInterface +PaymentRefundProcessor +PdoSessionHandler +Percona +Persistable +PhpRedis +PhpStan +PhpUnit +Pinia +PluginManager +PositionID +PositionIDs +PositionIdentifier +PostInstall +PostMessage +PostUpdate +PreWriteValidationEvent +Predis +Preload +Premapping +PreparedPaymentHandlerInterface +Preselect +PriceCollectionFacade +PriceDefinition +PriceDefinitionField +PriceFacade +PriceField +PriceFieldSerializer +PrimaryKey +ProductAttributeDataSet +ProductAware +ProductCartProcessor +ProductCartTest +ProductCategoryDefinition +ProductController +ProductCountRouteResponse +ProductDataSelection +ProductDataSet +ProductListRoute +ProductManufacturerDefinition +ProductMedia +ProductMediaDefinition +ProductNumber +ProductOptionRelationDataSet +ProductPage +ProductPriceAttributeDataSet +ProductPriceCalculator +ProductPropertyRelationDataSet +ProductQuickViewWidget +ProductReviewsWidget +ProductSearchBuilder +ProductStorer +ProductSubscriber +ProductUpdater +ProductVisibility +ProductWarehouse +ProductWarehouses +ProductsFacade +Profiler +PropertyGroupOptionDataSet +ProseMirror +Prosemirror +Pseudocode +Punctuations +Quickstart +QuillJS +RDB +README +RabbitMQ +RabbitMq +Readonly +RecipientsAware +RecipientsStorer +RecurringPaymentHandlerInterface +Redict +RedirectResponse +ReferenceVersion +ReferenceVersionField +RefundPaymentHandlerInterface +RegEx +RegistrationCompletedEvent +RegistrationService +Reindexes +ReinstallApps +RemoteAddress +RemoteAddressField +Repo +RepositoryIterator +ResetUrlAware +ResetUrlStorer +RestAPI +RestrictDelete +Reusability +ReverseInherited +ReviewFormDataAware +ReviewFormDataStorer +Reviewdog +Roadmap +RouteResponse +RuleConditionService +RuntimeException +SCSS +SDK +SDK's +SDKs +SEO +SEOs +SFC +SFTP +SHA +SKEs +SMS +SMTP +SPA's +SPAs +SQS +SSHes +SSL +STP +SVG +SVGs +SaaS +Sales Rooms +SalesAgent +SalesChannel +SalesChannelAware +SalesChannelContext +SalesChannelContextCreatedEvent +SalesChannelContextResolvedEvent +SalesChannelContextRestoredEvent +SalesChannelContextRestorerOrderCriteriaEvent +SalesChannelId +SalesChannelProductEntity +SalesChannelRule +SameSite +ScalarValuesAware +ScalarValuesStorer +ScheduledTask +ScriptEventRegistry +SearchCriteria +SearchPage +SearchRanking +SearchWidget +SecretKey +Sendfile +SeoUrlRoute +SeoUrlTemplate +SetNullOnDelete +ShippingCountryRule +ShippingMethodPriceCollector +ShippingMethodRoute +ShippingMethodRule +ShippingStreetRule +ShippingZipCodeRule +ShopActivatedEvent +ShopDeactivatedEvent +ShopDeletedEvent +ShopNameAware +ShopNameStorer +Shopware +Shopware's +SimpleHttpClient +Sinon +SitemapPage +SnippetFileInterface +SomeCoreClassTest +SonarQube +Sonarcube +StackHero +StackOverflow +Stackhero +StateMachineRegistry +StateMachineState +StateMachineStateEntity +StateMachineStateField +StatesFacade +StaticEntityRepository +StockUpdate +StockUpdateFilterProvider +StockUpdater +Storable +StorableFlow +StoreApiResponse +StoreApiRoute +StorefrontController +StorefrontResponse +Storer +StringField +StringFields +Struct +SubjectAware +SubjectStorer +Subprocessor +SuggestPage +SwagAdvDevBundle +SwagB +SwagBasicExample +SwagBasicExampleTheme +SwagDigitalSalesRooms +SwagMigrationBundleExample +SwagMyPlugin +SwagMyPluginSW +Symfony +Symfony's +SyncApi +SynchronousPaymentHandlerInterface +Synopsys +TCP +TLS +TTL +TaxProvider +TaxProviderStruct +TaxProviders +TemplateDataAware +TemplateDataStorer +TemplateNamespaceHierarchyBuilder +TestCase +TestStockUpdateFilter +TimeRangeRule +TinyMCE +TipTap +TipTap's +ToMany +ToOne +Tooltips +TransactionalAction +TranslatedField +TranslationDataSet +TranslationsAssociation +TranslationsAssociationField +TreeBreadcrumb +TreeBreadcrumbField +TreeLevel +TreeLevelField +TreePath +TreePathField +TreeSelect +TriggerReload +TwigJS +TypeError +TypeError's +TypeScript +UI +UML +USD +UUID +UUIDs +UUIDv +UX +Unassigning +UninstallApps +UnitCollection +UnitEntity +UnitTests +UnoCSS +Unregistering +Untrusted +UpdateContext +UpdateHtaccess +UpdatedAt +UpdatedAtField +UpdatedBy +UpdatedByField +UpperCamelCase +Upserting +UrlAware +UrlStorer +UserAware +UserStorer +Util +Utils +Uuid +VARCHAR +VCL +VCS +VM +VSCode +Validator +Valkey +Vercel +VersionDataPayload +VersionDataPayloadField +VersionField +VirtualHosts +Vite +Vitepress +Vitest +Vue +Vue's +VueJS +VueJs +VueX +Vuei +Vuex +WCAG +WSL +WarehouseGroup +WarehouseGroups +WebKit +WebSocket +Webhook +Webkit +Webpack +Webserver +WeekdayRule +WhitelistRule +WhitelistRuleField +WishlistPage +WishlistWidget +WriteEvents +WriteProtected +XDebug +XHR +XKey +XLIFF +XMLHttpRequest +XPath +XQuartz +XSS +XVFB +Xdebug +XmlHttpRequest +XmlUtils +XorRule +YYYY +YamlFileLoader +ZSH +accel +acl +activateShopwareTheme +adr +afterSort +ag +ajax +amqp +anonymization +anonymize +anonymized +antipattern +api +apiKey +appVersion +args +arrayfacade +async +atomicity +auth +autocompletion +autogenerate +autogenerated +autoload +autoloaded +autoloader +autoloading +autom +autoprefixer +autowire +autowiring +awaitAndCheckNotification +axios +bAcl +bAjaxPanel +bAuditLog +bAuth +bLogin +bPlatform +bRestApi +bServiceExtension +bTemplateExtension +backend +backends +backface +backoff +backported +binlog +blackbox +blackfire +blockquote +blockquotes +bolded +bool +boolean +booleans +bottleJS +bottleJs +bourgau +brainer +browserslist +bruteforce +bugfix +bugfixes +bundler +buyable +cacheKey +cacheable +cacheinvalidatorfacade +cachix +calculatedCheapestPrice +calculatedPrice +calculatedPrices +callables +camelCase +camelcase +caniuse +capitalizeString +capsulate +captcha +captureId +cartfacade +cartpricefacade +catchable +catched +cetera +changelog +changelogs +changeset +changesets +chargeback +checkboxes +ci +classmap +classname +cleanUpPreviousState +clearTypeAndCheck +cli +clickContextMenuItem +clickMainMenuItem +cloneDeep +cms +cmsService +cmss +codebase +codeblock +codeblocks +codereview +colorpicker +compatability +componentSectionRenderer +composable +config +configComponent +configs +configurator +confirmUrl +const +const's +contactFormData +containerfacade +control +copyToClipboard +copyable +cors +createActionResponse +createCategoryFixture +createCmsFixture +createCustomerFixture +createDefaultContext +createDefaultFixture +createGuestOrder +createId +createLanguageFixture +createProductFixture +createPropertyFixture +createSalesChannelFixture +createShippingFixture +createSnippetFixture +createValidatorDefinition +cron +cryptographic +csrf +css +customFields +customerAware +customerGroup +customerGroupAware +customerHasFeature +customerRecovery +customizability +customizable +customizations +customizer +cyclus +dTH +dailymotion +dal +dannorth +dasistweb +dataSelection +dataSet +datadog +dataset +datasets +datepicker +datetime +de +debounce +decoratable +decrementing +deepCopyObject +deepMergeObject +defaultConfig +defaultValue +delayAware +deletable +demodemo +demoshop +deno +denylist +dependencyInjection +deployer +deprecations +dereference +dereferenced +describeFeatures +destructure +destructuring +dev +devenv +devops +devs +devtool's +devtools +di +differentiator +dir +direnv +direnv's +discountfacade +discoverability +docblock +dockware +dom +don'ts +dont +dont's +dr +dragTo +dropdown +dsr +dunglas +duplications +ean +ecommerce +editorconfig +eg +elasticsearch +employeeId +enqueue +entityIds +entityName +entrypoint +entrypoints +enum +enums +env +envs +equalsAny +errored +errorsfacade +erros +eslint +et +everytime +evolvability +exampler +explainer +extendability +extensibility +externalReference +fallbacks +fastly +favicon +fetchable +fieldset +fileSize +fileinfo +filesystem +filesystems +firstname +flattenDeep flyout Flysystem focussed 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 From 8588cf71d9eb5fdf0f5639ca6a490dd6ad55818d Mon Sep 17 00:00:00 2001 From: Jannis Leifeld Date: Tue, 21 Jan 2025 15:11:08 +0100 Subject: [PATCH 2/4] Apply suggestions from code review Co-authored-by: Micha Hobert --- .../administration/system-updates/meteor-components.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guides/plugins/plugins/administration/system-updates/meteor-components.md b/guides/plugins/plugins/administration/system-updates/meteor-components.md index 99d342985..c13230b84 100644 --- a/guides/plugins/plugins/administration/system-updates/meteor-components.md +++ b/guides/plugins/plugins/administration/system-updates/meteor-components.md @@ -15,7 +15,7 @@ With the release of Shopware 6.7, we will replace several current administration ## 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. +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: @@ -42,7 +42,7 @@ To simplify the plugin migration process, we provide codemods that automatically 1. Execute the following composer command: ```bash - # Main command which outputs also the help text + # Main command which also outputs the help text composer run admin:code-mods ## Example with arguments From e4acc537518942faf6fe29602e56d34accb88bd7 Mon Sep 17 00:00:00 2001 From: Jannis Leifeld Date: Tue, 21 Jan 2025 15:14:18 +0100 Subject: [PATCH 3/4] docs: fix grammar and wording --- .wordlist.txt | 842 ------------------ .../system-updates/meteor-components.md | 6 +- 2 files changed, 3 insertions(+), 845 deletions(-) diff --git a/.wordlist.txt b/.wordlist.txt index 1d8a2fd19..0671150ae 100644 --- a/.wordlist.txt +++ b/.wordlist.txt @@ -611,848 +611,6 @@ FlowEventAware FlowExecutor FlowStore FlowStorer -Flysystem -Fontawesome -FooterPagelet -FrameworkBundle -FroshDevelopmentHelper -FroshPluginUploader -Fullstack -GDPR -GIFs -GenericPage -GenericPageLoader -GitLab -Github -GlobFileLoader -GmbH -GoodsCountRule -GoodsPriceRule -GoogleReCaptchaV -Grafana -Grantable -GridHelper -GuestWishlistPage -GuestWishlistPagelet -HMAC -HMR -Homebrew -Hono -HookClasses -HookExecutor -HowTos -IDEs -IPV -IPv -IdField -IdSearchResult -Ideate -Iframe -Inclusivity -IndexerService -Init -Initialisms -IntField -IntelliSense -InterfaceHooks -IsCompanyRule -IsEmployeeRule -IsNewCustomerRule -ItemFacade -ItemsFacade -JSON -JVM -JWT -JavaScript -JestJS -JetBrains -Jira -Jit -Jonge -JsonField -JsonResponse -KV -KeyDB -Kibana -LONGTEXT -LUA -LandingPage -LastNameRule -Lerna -Lifecycle -LineItemClearanceSaleRule -LineItemCreationDateRule -LineItemCustomFieldRule -LineItemDimensionHeightRule -LineItemDimensionLengthRule -LineItemDimensionWeightRule -LineItemDimensionWidthRule -LineItemFactoryRegistry -LineItemGroupRule -LineItemHandler -LineItemInCategoryRule -LineItemIsNewRule -LineItemList -LineItemListPriceRule -LineItemOfManufacturerRule -LineItemOfTypeRule -LineItemPromotedRule -LineItemPropertyRule -LineItemPurchasePriceRule -LineItemReleaseDateRule -LineItemRemovedEvent -LineItemRule -LineItemTagRule -LineItemTaxationRule -LineItemTotalPriceRule -LineItemUnitPriceRule -LineItemWithQuantityRule -LineItemWrapperRule -LineItemsInCartCountRule -LineItemsInCartRule -ListField -ListingPrice -ListingPriceField -LoaderResolver -LockedField -LogEntry -Logfiles -LoggingService -LoginContextService -LoginRequired -LongText -LongTextField -Lychee -MACOSX -MRs -MVC -MailAware -MailHog -MailService -MailStorer -Mailcatcher -Mailhog -MaintenancePage -ManufacturerAttributeDataSet -ManyToMany -ManyToManyAssociation -ManyToManyAssociationField -ManyToManyId -ManyToManyIdField -ManyToOne -ManyToOneAssociation -ManyToOneAssociationField -MediaDataSelection -MediaDataSet -MediaFolderDataSet -MemcachedSessionHandler -MenuOffcanvasPagelet -Mercure -MessageAware -MessageQueue -MessageStorer -MeteorAdminSDK -Methodize -Middleware -MigrationCollection -Minio -Mixin -Mixins -Modularity -ModuleFactory -MongoDbSessionHandler -Monolog -Monorepo -Monorepos -MoveShopPermanently -MultiWarehouse -MyExampleApp -MyExtension -MyPlugin -MyTestClass -MyTestInterface -NPM -NameAware -NameStorer -NavigationPage -NelmioCorsBundle -NewFeature -NewRelic -NewsletterRecipientAware -NewsletterRecipientStorer -Nginx -NixOS -NoSQL -Noback -NodeJS -NotFoundHttpException -NotRule -NullObject -Nullsafe -Nuxt -Nvidia -OAuth -OPENSEARCH -ORM -ORMs -OTEL -OTLP -ObjectField -ObjectType -OffCanvas -OffcanvasCartPageLoadedEvent -OldFeature -OneToMany -OneToManyAssociation -OneToManyAssociationField -OneToOne -OneToOneAssociation -OneToOneAssociationField -OpenAPI -OpenApi -OpenSSH -OpenSSL -OpenSearch -OpenTelemetry -Openapi -Opensearch -Opensearch's -OrRule -OrderAware -OrderCountRule -OrderEntity -OrderEvents -OrderLineItem -OrderLineItemEntity -OrderStorer -OrderTransaction -OrderTransactionAware -OrderTransactionCapture -OrderTransactionCaptureCollection -OrderTransactionCaptureEntity -OrderTransactionCaptureRefund -OrderTransactionCaptureRefundEntity -OrderTransactionCaptureRefundPosition -OrderTransactionCaptureRefundPositionCollection -OrderTransactionEntity -OrderTransactionRefundCollection -OrderTransactionStorer -PHPStan -PHPStorm -PHPUnit -PHPunit -PII -POC -POS -PRs -PSH -PSP -PSR -PWA -PaaS -Paas -Packagist -PageEvent -PageLoaded -PageLoadedEvent -PageLoadedEvents -PageLoader -PageLoader structs -PageType -Pagelet -PageletLoader -Pagelets -Pageloaders -ParentAssociation -ParentAssociationField -ParentFk -ParentFkField -PasswordField -PaymentGatewayApp -PaymentHandlerIdentifierSubscriber -PaymentMethod -PaymentMethodRoute -PaymentMethodRule -PaymentRefundHandlerInterface -PaymentRefundProcessor -PdoSessionHandler -Percona -Persistable -PhpRedis -PhpStan -PhpUnit -Pinia -PluginManager -PositionID -PositionIDs -PositionIdentifier -PostInstall -PostMessage -PostUpdate -PreWriteValidationEvent -Predis -Preload -Premapping -PreparedPaymentHandlerInterface -Preselect -PriceCollectionFacade -PriceDefinition -PriceDefinitionField -PriceFacade -PriceField -PriceFieldSerializer -PrimaryKey -ProductAttributeDataSet -ProductAware -ProductCartProcessor -ProductCartTest -ProductCategoryDefinition -ProductController -ProductCountRouteResponse -ProductDataSelection -ProductDataSet -ProductListRoute -ProductManufacturerDefinition -ProductMedia -ProductMediaDefinition -ProductNumber -ProductOptionRelationDataSet -ProductPage -ProductPriceAttributeDataSet -ProductPriceCalculator -ProductPropertyRelationDataSet -ProductQuickViewWidget -ProductReviewsWidget -ProductSearchBuilder -ProductStorer -ProductSubscriber -ProductUpdater -ProductVisibility -ProductWarehouse -ProductWarehouses -ProductsFacade -Profiler -PropertyGroupOptionDataSet -ProseMirror -Prosemirror -Pseudocode -Punctuations -Quickstart -QuillJS -RDB -README -RabbitMQ -RabbitMq -Readonly -RecipientsAware -RecipientsStorer -RecurringPaymentHandlerInterface -Redict -RedirectResponse -ReferenceVersion -ReferenceVersionField -RefundPaymentHandlerInterface -RegEx -RegistrationCompletedEvent -RegistrationService -Reindexes -ReinstallApps -RemoteAddress -RemoteAddressField -Repo -RepositoryIterator -ResetUrlAware -ResetUrlStorer -RestAPI -RestrictDelete -Reusability -ReverseInherited -ReviewFormDataAware -ReviewFormDataStorer -Reviewdog -Roadmap -RouteResponse -RuleConditionService -RuntimeException -SCSS -SDK -SDK's -SDKs -SEO -SEOs -SFC -SFTP -SHA -SKEs -SMS -SMTP -SPA's -SPAs -SQS -SSHes -SSL -STP -SVG -SVGs -SaaS -Sales Rooms -SalesAgent -SalesChannel -SalesChannelAware -SalesChannelContext -SalesChannelContextCreatedEvent -SalesChannelContextResolvedEvent -SalesChannelContextRestoredEvent -SalesChannelContextRestorerOrderCriteriaEvent -SalesChannelId -SalesChannelProductEntity -SalesChannelRule -SameSite -ScalarValuesAware -ScalarValuesStorer -ScheduledTask -ScriptEventRegistry -SearchCriteria -SearchPage -SearchRanking -SearchWidget -SecretKey -Sendfile -SeoUrlRoute -SeoUrlTemplate -SetNullOnDelete -ShippingCountryRule -ShippingMethodPriceCollector -ShippingMethodRoute -ShippingMethodRule -ShippingStreetRule -ShippingZipCodeRule -ShopActivatedEvent -ShopDeactivatedEvent -ShopDeletedEvent -ShopNameAware -ShopNameStorer -Shopware -Shopware's -SimpleHttpClient -Sinon -SitemapPage -SnippetFileInterface -SomeCoreClassTest -SonarQube -Sonarcube -StackHero -StackOverflow -Stackhero -StateMachineRegistry -StateMachineState -StateMachineStateEntity -StateMachineStateField -StatesFacade -StaticEntityRepository -StockUpdate -StockUpdateFilterProvider -StockUpdater -Storable -StorableFlow -StoreApiResponse -StoreApiRoute -StorefrontController -StorefrontResponse -Storer -StringField -StringFields -Struct -SubjectAware -SubjectStorer -Subprocessor -SuggestPage -SwagAdvDevBundle -SwagB -SwagBasicExample -SwagBasicExampleTheme -SwagDigitalSalesRooms -SwagMigrationBundleExample -SwagMyPlugin -SwagMyPluginSW -Symfony -Symfony's -SyncApi -SynchronousPaymentHandlerInterface -Synopsys -TCP -TLS -TTL -TaxProvider -TaxProviderStruct -TaxProviders -TemplateDataAware -TemplateDataStorer -TemplateNamespaceHierarchyBuilder -TestCase -TestStockUpdateFilter -TimeRangeRule -TinyMCE -TipTap -TipTap's -ToMany -ToOne -Tooltips -TransactionalAction -TranslatedField -TranslationDataSet -TranslationsAssociation -TranslationsAssociationField -TreeBreadcrumb -TreeBreadcrumbField -TreeLevel -TreeLevelField -TreePath -TreePathField -TreeSelect -TriggerReload -TwigJS -TypeError -TypeError's -TypeScript -UI -UML -USD -UUID -UUIDs -UUIDv -UX -Unassigning -UninstallApps -UnitCollection -UnitEntity -UnitTests -UnoCSS -Unregistering -Untrusted -UpdateContext -UpdateHtaccess -UpdatedAt -UpdatedAtField -UpdatedBy -UpdatedByField -UpperCamelCase -Upserting -UrlAware -UrlStorer -UserAware -UserStorer -Util -Utils -Uuid -VARCHAR -VCL -VCS -VM -VSCode -Validator -Valkey -Vercel -VersionDataPayload -VersionDataPayloadField -VersionField -VirtualHosts -Vite -Vitepress -Vitest -Vue -Vue's -VueJS -VueJs -VueX -Vuei -Vuex -WCAG -WSL -WarehouseGroup -WarehouseGroups -WebKit -WebSocket -Webhook -Webkit -Webpack -Webserver -WeekdayRule -WhitelistRule -WhitelistRuleField -WishlistPage -WishlistWidget -WriteEvents -WriteProtected -XDebug -XHR -XKey -XLIFF -XMLHttpRequest -XPath -XQuartz -XSS -XVFB -Xdebug -XmlHttpRequest -XmlUtils -XorRule -YYYY -YamlFileLoader -ZSH -accel -acl -activateShopwareTheme -adr -afterSort -ag -ajax -amqp -anonymization -anonymize -anonymized -antipattern -api -apiKey -appVersion -args -arrayfacade -async -atomicity -auth -autocompletion -autogenerate -autogenerated -autoload -autoloaded -autoloader -autoloading -autom -autoprefixer -autowire -autowiring -awaitAndCheckNotification -axios -bAcl -bAjaxPanel -bAuditLog -bAuth -bLogin -bPlatform -bRestApi -bServiceExtension -bTemplateExtension -backend -backends -backface -backoff -backported -binlog -blackbox -blackfire -blockquote -blockquotes -bolded -bool -boolean -booleans -bottleJS -bottleJs -bourgau -brainer -browserslist -bruteforce -bugfix -bugfixes -bundler -buyable -cacheKey -cacheable -cacheinvalidatorfacade -cachix -calculatedCheapestPrice -calculatedPrice -calculatedPrices -callables -camelCase -camelcase -caniuse -capitalizeString -capsulate -captcha -captureId -cartfacade -cartpricefacade -catchable -catched -cetera -changelog -changelogs -changeset -changesets -chargeback -checkboxes -ci -classmap -classname -cleanUpPreviousState -clearTypeAndCheck -cli -clickContextMenuItem -clickMainMenuItem -cloneDeep -cms -cmsService -cmss -codebase -codeblock -codeblocks -codereview -colorpicker -compatability -componentSectionRenderer -composable -config -configComponent -configs -configurator -confirmUrl -const -const's -contactFormData -containerfacade -control -copyToClipboard -copyable -cors -createActionResponse -createCategoryFixture -createCmsFixture -createCustomerFixture -createDefaultContext -createDefaultFixture -createGuestOrder -createId -createLanguageFixture -createProductFixture -createPropertyFixture -createSalesChannelFixture -createShippingFixture -createSnippetFixture -createValidatorDefinition -cron -cryptographic -csrf -css -customFields -customerAware -customerGroup -customerGroupAware -customerHasFeature -customerRecovery -customizability -customizable -customizations -customizer -cyclus -dTH -dailymotion -dal -dannorth -dasistweb -dataSelection -dataSet -datadog -dataset -datasets -datepicker -datetime -de -debounce -decoratable -decrementing -deepCopyObject -deepMergeObject -defaultConfig -defaultValue -delayAware -deletable -demodemo -demoshop -deno -denylist -dependencyInjection -deployer -deprecations -dereference -dereferenced -describeFeatures -destructure -destructuring -dev -devenv -devops -devs -devtool's -devtools -di -differentiator -dir -direnv -direnv's -discountfacade -discoverability -docblock -dockware -dom -don'ts -dont -dont's -dr -dragTo -dropdown -dsr -dunglas -duplications -ean -ecommerce -editorconfig -eg -elasticsearch -employeeId -enqueue -entityIds -entityName -entrypoint -entrypoints -enum -enums -env -envs -equalsAny -errored -errorsfacade -erros -eslint -et -everytime -evolvability -exampler -explainer -extendability -extensibility -externalReference -fallbacks -fastly -favicon -fetchable -fieldset -fileSize -fileinfo -filesystem -filesystems -firstname -flattenDeep flyout Flysystem focussed diff --git a/guides/plugins/plugins/administration/system-updates/meteor-components.md b/guides/plugins/plugins/administration/system-updates/meteor-components.md index c13230b84..1b6ce177b 100644 --- a/guides/plugins/plugins/administration/system-updates/meteor-components.md +++ b/guides/plugins/plugins/administration/system-updates/meteor-components.md @@ -28,13 +28,13 @@ Using a shared component library offers several advantages: 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 +## 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 version of Shopware must be installed +- 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 @@ -53,5 +53,5 @@ To simplify the plugin migration process, we provide codemods that automatically 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 + - Fixes some other deprecated code where possible \ No newline at end of file From 4456b7fb445c478a7ec5b139e952a07fc3667098 Mon Sep 17 00:00:00 2001 From: Micha Date: Tue, 21 Jan 2025 15:46:17 +0100 Subject: [PATCH 4/4] Fix sorting and add Reusability --- .wordlist.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.wordlist.txt b/.wordlist.txt index 0671150ae..81f8e23eb 100644 --- a/.wordlist.txt +++ b/.wordlist.txt @@ -264,10 +264,10 @@ cmsService codebase codeblock codeblocks -codereview -Codestyle codemods Codemods +codereview +Codestyle colorpicker CommercialB CommercialBundle @@ -1323,6 +1323,7 @@ RestrictDelete resubmittable rethrown returnUrl +Reusability revalidation ReverseInherited Reviewdog