ddev-drupal-contrib icon indicating copy to clipboard operation
ddev-drupal-contrib copied to clipboard

`ddev eslint` breaks due to hyphens in project name

Open jameswilson opened this issue 1 year ago • 4 comments

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).

jameswilson avatar May 26 '24 14:05 jameswilson

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.

xpersonas avatar Jul 12 '24 18:07 xpersonas

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

rfay avatar Jul 12 '24 18:07 rfay

So can this issue be closed?

weitzman avatar Aug 13 '24 12:08 weitzman

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.

rfay avatar Aug 13 '24 16:08 rfay

I think this was fixed on #81

hanoii avatar Oct 28 '24 12:10 hanoii