EmicoEcommerce / Magento2TweakwiseExport

Magento 2 module for Tweakwise export
Other
1 stars 11 forks source link

magento/module-inventory-indexer required in 7.1.0 #71

Closed AndrewRMillar closed 2 months ago

AndrewRMillar commented 4 months ago

Issue Brief

When I updated tweakwise export from 7.0.1 to 7.1.0 I get an issue that this module now requires magento/module-inventory-indexer. We do not use magento inventory management. The above requirement would potentially force us to add over 60 modules we do not use.

Environment

Steps to reproduce (edited; added step 2)

  1. Install Magento from master branch.
  2. Place all the magento/module-inventory-[something] modules within "replace: {}" in composer
  3. composer require tweakwise/magento2-tweakwise-export
  4. bin/magento setup:upgrade
  5. bin/magento setup:di:compile

Actual result

  1. 5/9 th into setup:di:compile generates:
    Impossible to process constructor argument Parameter #7 [ <required> Magento\InventoryIndexer\Model\StockIndexTableNameResolver $stockIndexTableNameResolver ] of Tweakwise\Magento2TweakwiseExport\Model\Write\Products\CollectionDecorator\StockData\SourceItemMapProvider class 
ah-net commented 4 months ago

@AndrewRMillar Thx for reporting this issue. We will look into this

ah-net commented 4 months ago

@AndrewRMillar

Can you share your composer.json? Or the exact steps to reproduce the issue? I can't reproduce the issue. An new magento install, installs the inventory magenement module.

AndrewRMillar commented 4 months ago

I understand that magento inventory management would normally be part of a magento installation but we have all the magento/module-inventory-[something] modules in the replace part of composer.json, this causes magento to use the fall back option.

This is the relavant part of our composer.json, if you were to include this in your composer.json you should be able to reproduce the issue.

{
    [...],
    "replace": {
        "magento/module-inventory": "*",
        "magento/module-inventory-admin-ui": "*",
        "magento/module-inventory-advanced-checkout": "*",
        "magento/module-inventory-requisition-list": "*",
        "magento/module-inventory-bundle-product": "*",
        "magento/module-inventory-bundle-product-admin-ui": "*",
        "magento/module-inventory-cache": "*",
        "magento/module-inventory-catalog": "*",
        "magento/module-inventory-catalog-admin-ui": "*",
        "magento/module-inventory-catalog-api": "*",
        "magento/module-inventory-catalog-search": "*",
        "magento/module-inventory-catalog-search-bundle-product": "*",
        "magento/module-inventory-catalog-search-configurable-product": "*",
        "magento/module-inventory-configurable-product": "*",
        "magento/module-inventory-configurable-product-admin-ui": "*",
        "magento/module-inventory-configurable-product-indexer": "*",
        "magento/module-inventory-configuration": "*",
        "magento/module-inventory-configuration-api": "*",
        "magento/module-inventory-distance-based-source-selection": "*",
        "magento/module-inventory-distance-based-source-selection-admin-ui": "*",
        "magento/module-inventory-distance-based-source-selection-api": "*",
        "magento/module-inventory-export-stock": "*",
        "magento/module-inventory-export-stock-api": "*",
        "magento/module-inventory-elasticsearch": "*",
        "magento/module-inventory-graph-ql": "*",
        "magento/module-inventory-grouped-product": "*",
        "magento/module-inventory-grouped-product-admin-ui": "*",
        "magento/module-inventory-grouped-product-indexer": "*",
        "magento/module-inventory-indexer": "*",
        "magento/module-inventory-low-quantity-notification": "*",
        "magento/module-inventory-low-quantity-notification-admin-ui": "*",
        "magento/module-inventory-low-quantity-notification-api": "*",
        "magento/module-inventory-multi-dimensional-indexer-api": "*",
        "magento/module-inventory-quote-graph-ql": "*",
        "magento/module-inventory-product-alert": "*",
        "magento/module-inventory-reservations": "*",
        "magento/module-inventory-reservations-api": "*",
        "magento/module-inventory-reservation-cli": "*",
        "magento/module-inventory-sales": "*",
        "magento/module-inventory-sales-admin-ui": "*",
        "magento/module-inventory-sales-api": "*",
        "magento/module-inventory-sales-frontend-ui": "*",
        "magento/module-inventory-setup-fixture-generator": "*",
        "magento/module-inventory-shipping": "*",
        "magento/module-inventory-shipping-admin-ui": "*",
        "magento/module-inventory-source-deduction-api": "*",
        "magento/module-inventory-source-selection": "*",
        "magento/module-inventory-source-selection-api": "*",
        "magento/module-inventory-bundle-product-indexer": "*",
        "magento/module-inventory-in-store-pickup": "*",
        "magento/module-inventory-in-store-pickup-admin-ui": "*",
        "magento/module-inventory-in-store-pickup-api": "*",
        "magento/module-inventory-in-store-pickup-frontend": "*",
        "magento/module-inventory-in-store-pickup-graph-ql": "*",
        "magento/module-inventory-in-store-pickup-multishipping": "*",
        "magento/module-inventory-in-store-pickup-quote": "*",
        "magento/module-inventory-in-store-pickup-quote-graph-ql": "*",
        "magento/module-inventory-in-store-pickup-sales": "*",
        "magento/module-inventory-in-store-pickup-sales-admin-ui": "*",
        "magento/module-inventory-in-store-pickup-sales-api": "*",
        "magento/module-inventory-in-store-pickup-shipping": "*",
        "magento/module-inventory-in-store-pickup-shipping-admin-ui": "*",
        "magento/module-inventory-in-store-pickup-shipping-api": "*",
        "magento/module-inventory-in-store-pickup-webapi-extension": "*",
        "magento/module-inventory-visual-merchandiser": "*",
    },
    [...]
}
ah-net commented 3 months ago

@AndrewRMillar

I've discussed this internally, and since Magento comes with the module installed by default, and you can simply disable it without removing it, we're unsure why you chose to remove the modules entirely.

Typically, the standard practice is to disable the module rather than completely remove it. Reverting this change could cause issues for MSI customers, as it requires us to choose between properly supporting MSI or supporting the removal of default Magento modules that can be disabled.

Given this, we've decided to maintain the current functionality and will not be making any changes.