`ddev eslint` breaks due to hyphens in project name
Problem Statement
I see the following error:
$ ddev eslint
/mnt/ddev_config/commands/web/eslint: line 16: cd: web/modules/custom/my-module: No such file or directory
Failed to run eslint : exit status 1
The problematic line is this one:
cd "$DDEV_DOCROOT/modules/custom/$DDEV_SITENAME"
Ddev doesn't allow you to create a project name with underscores in it, because it creates an invalid domain name. Therefore, module names that contain underscores (eg "my_module") must be converted to hyphens for the Ddev project name.
When this happens the module name (my_module) is not the same as the Ddev project name (my-module, and so cd web/modules/custom/my-module will fail.
Proposed resolution
If possible refactor the eslint command file to execute eslint from the project root folder ( like all of the other commands currently do). Pass in the path to the project folder as a flag or option to the eslint command, ideally using wildcard syntax $DDEV_DOCROOT/modules/custom/* so that we don't have to decypher the actual project folder name. (I don't think we have an environment variable for this).
I'm hitting same issue. All my modules have underscores. I don't know if there's a workaround at this time. If so, please let me know. Just got up and running with this project today so it's all pretty new to me.
Related: will be automatically replaced with hyphen in next DDEV release, but of course you can do the same manually right now in the .ddev/config.yaml.
- https://github.com/ddev/ddev/pull/6210
- https://github.com/ddev/ddev/issues/6206
So can this issue be closed?
In DDEV v1.23.4, projects automatically are named with underscores replaced with hyphens. Maybe a PR can add ddev_version_constraint: '>=v1.23.4' as a solution to this and not have to do anything else.
I think this was fixed on #81