How did I upgrade frugue.com from Magento 2.1.9 to 2.3.0?

Step 1

sudo composer self-update

Step 2

Replace the require-dev section of the root’s composer.json file with the code from Magento 2.2.7:

"require-dev": {
	"phpunit/phpunit": "~6.2.0",
	"squizlabs/php_codesniffer": "3.2.2",
	"magento/magento2-functional-testing-framework": "2.3.8",
	"phpmd/phpmd": "@stable",
	"pdepend/pdepend": "2.5.2",
	"friendsofphp/php-cs-fixer": "~2.2.1",
	"lusitanian/oauth": "~0.8.10",
	"sebastian/phpcpd": "2.0.4"
},

Step 3

Replace the autoload/psr-0 section of the root’s composer.json file with the code from Magento 2.2.7:

"psr-0": {
	"": [
		"app/code/",
		"generated/code/"
	]
},

Step 4

Add the the autoload/psr-0/exclude-from-classmap section to the root’s composer.json file (with the value from from Magento 2.2.7):

"exclude-from-classmap": [
	"**/dev/**",
	"**/update/**",
	"**/Test/**"
]

Step 5

Upgrade PHP from 7.0.x to 7.1.x.

Step 6

rm -rf composer.lock

Step 7

composer require magento/product-community-edition:2.2.7

Step 8

Replace the update folder with the same folder from the Magento 2.2.7 distributive.

Step 9

bin/magento setup:upgrade

Step 10

bin/magento setup:static-content:deploy -f en_US de_DE fr_FR --area frontend --theme TemplateMonster/theme007 && bin/magento setup:static-content:deploy -f en_US --area adminhtml --theme Magento/backend

Step 11

bin/magento indexer:reindex && bin/magento cron:run && bin/magento cache:clean

Step 12

Replace the require-dev section of the root’s composer.json file with the code from Magento 2.3.0:

Step 13

Replace the config section of the root’s composer.json file with the code from Magento 2.3.0:

Step 14

Add the conflict section to the root’s composer.json file:

Step 15

Replace the autoload/psr-4 section of the root’s composer.json file with the code from Magento 2.3.0:

Step 16

rm -rf vendor/composer/installed.json
find . -name "composer.lock" -type f -delete

Step 17

composer require magento/product-community-edition:2.3.0

Step 18

Upgrade PHP from 7.1.x to 7.2.x.

Step 19

UPDATE core_config_data  SET value = 470 WHERE path = 'theme_options/category_page/grid_view/image_width';

Step 20

How to fix swatches appearance in Magento 2.2.7 and 2.3.0?

Step 21

How to fix broken images for swatches after upgrading Magento to 2.3.x?

Step 22

How to fix «Call to undefined method processAdditionalValidation()» after upgrading Magento to 2.2.6?

Step 23

How to remove the «Instant Purchase» button?

Step 24

How to fix broken styles in the Amasty’s «Advanced Search» module after upgrading it to 1.12.x?

Step 25

How to fix «Call to a member function getItems() on null» for Amasty «Advanced Search»?

Step 26

How to fix «Cannot read property ‘code’ of undefined» in Magento_Checkout/js/view/progress-bar.js?