scandipwa / magento-docker

Docker environment dedicated for ScandiPWA theme development
https://scandipwa.com/
Open Software License 3.0
105 stars 314 forks source link

Docker setup is not supporting project specific theme development #22

Open kandrejevs opened 5 years ago

kandrejevs commented 5 years ago

Describe the bug Current docker setup is tailored for core development and is not working correctly with project specific theme development.

To Reproduce Create custom theme through cli command, e.g. MyCompany/pwa, and update configuration files (.env, webpack)

1) the first issue is deployment procedure in deploy/start.sh. Function contains code that redeploys base theme from scratch every time, it fails if files are present and don't delete them, but it still contains hard coded values and is executed on every start up.

2) the second issue is that theme path is hard coded in multiple places and is not prone to be changed easily. deploy/local/env deploy/start.sh docker-compose.frontend.yml

3) after adjusting config and docker files to work with project specific theme, webpack scss compilation fails, src/app/design/frontend/PROJECT/pwa/src/config/webpack.development.config.js projectRoot has to changed with fallbackRoot.

4) after importing sample data, migrations fail:

app_1            | Module 'ScandiPWA_Installer':
app_1            | Module 'Scandiweb_Core':
app_1            | Module 'ScandiPWA_Migrations':
app_1            | Caught exception: The stock item was unable to be saved. Please try again.
app_1            | Rolled back transaction has not been completed correctly.

Expected behavior docker containers should be able to handle project specific theme development.

Danpiel commented 5 years ago

Most of the settings/variables are intended to be changed depending on your setup, but templating for settings can be added along with docs.

@eli-l might have additional thoughts

kandrejevs commented 5 years ago

@Danpiel there is lack of settings and variables, currently many values are just hard-coded and repetitive, in this current example: the base path for theme- hence the referenced files in ticket. Changing settings and variables does not work fully, you still have to edit and tinker with other files which use the same values, but they are not using settings or variables, and on top of that you have to disable demo project deployment specific routines, which in my opinion shouldn't even be in core since they are demo not core specific. Such modifications can make updates from scandipwa-base harder, since there will be conflicts.

alfredsgenkins commented 4 years ago

So, conclusion:

@yeegor please update the ticket status upon completion, reference changes, if possible :)