Migrate Shopify Angular App to Shopify CLI 3.0

Topic summary

Developers are encountering challenges migrating custom Shopify apps (using Angular 11 frontend and PHP backend) to Shopify CLI 3.0. The official migration documentation proves unhelpful for non-standard tech stacks, as it primarily covers Node.js/Vite configurations.

Key Issue Identified:
Users experienced “Error forwarding web request: ECONNREFUSED” when attempting to preview their migrated apps.

Solution Found:
The problem stems from incorrect documentation in Shopify’s migration guide. The port configuration must be specified in lowercase within shopify.web.toml:

port = 4200
type = "frontend"
[commands]
dev = "ng serve"

The migration docs incorrectly show PORT in uppercase, while the structure documentation correctly displays it in lowercase. This discrepancy causes connection failures during development.

Status: Resolved through community troubleshooting and documentation correction.

Summarized with AI on November 20. AI used: claude-sonnet-4-5-20250929.

Hello,

I need to migrate my app created manually (frontend is built with Angular 11, backend part is plain PHP) to Shopify CLI 3.0

This tutorial https://shopify.dev/docs/apps/tools/cli/migrate is not very helpful as is using other technologies.

How can I do it in my case: Angular 11 (frontend) , PHP (backend)?

1 Like

I have the same problem.

I get Error when goes by Preview url.
Error forwarding web request: Error: connect ECONNREFUSED 127.0.0.1:56514

I create empty project by command “npm init @Shopify_77 [email removed] from https://github.com/Shopify/cli. And it works.
It uses node.js like backend and Vital as frontend.
I try to replace web/frontend by my angular code only left shopify.web.toml and merge package.json, replace “scripts” at package.json. Add SHOPIFY_API_KEY, SHOPIFY_API_SECRET to frontend/shopify.web.toml
And get Error forwarding web request.

Migrate app to Shopify CLI 3.x. Solution found.
Need add port = 4200 to web/frontend/shopify.web.toml or web/backend/shopify.web.toml.
port = 4200
type = “frontend”
[commands]
dev = “ng serve”

Problem at shopify docs where migration. PORT in UPPERCASE but must be in LOWERCASE
https://shopify.dev/docs/apps/tools/cli/migrate

At App structure docs for file shopify-web-toml port is correct - showed in LOWERCASE.
https://shopify.dev/docs/apps/tools/cli/structure#shopify-web-toml